diff --git a/source/_posts/A27-image-hosting.md b/source/_posts/A27-image-hosting.md
index 1c54ea25077a74a07d198ac789b4596684783c1a..9ea4b74738be519d0a1d0585f7038e6cc0bd1bf1 100644
--- a/source/_posts/A27-image-hosting.md
+++ b/source/_posts/A27-image-hosting.md
@@ -24,9 +24,9 @@ avatar: https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@2.1.9/images/trhx.png
> - SM.MS:运营四年多了,也变得越来越慢了,到了晚上直接打不开图片,速度堪忧
> - 其他小众图床:随时有挂掉的风险
> - Imgur等国外图床:国内访问速度太慢,随时有被墙的风险
-> - 大厂储存服务:例如七牛云、又拍云、腾讯云COS、阿里云OSS等,操作繁琐,又是实名认证又是域名备案的,麻烦,而且还要花钱(有钱又不怕麻烦的当我没说)
+> - 大厂储存服务:例如七牛云、又拍云、腾讯云COS、阿里云OSS等,容量限制,操作繁琐,又是实名认证又是域名备案的,麻烦,而且还要花钱(有钱又不怕麻烦的当我没说)
-因此,GitHub图床是个不错的选择,利用jsDelivr CDN加速访问(jsDelivr 是一个免费开源的 CDN 解决方案),PicGo工具一键上传,操作简单高效,GitHub和jsDelivr都是大厂,不用担心跑路问题,不用担心速度和容量问题,而且完全免费,可以说是目前免费图床的最佳解决方案!
+因此,GitHub 图床是个不错的选择,利用 jsDelivr CDN 加速访问(jsDelivr 是一个免费开源的 CDN 解决方案),PicGo 工具一键上传,操作简单高效,GitHub 和 jsDelivr 都是大厂,不用担心跑路问题,不用担心速度和容量问题,而且完全免费,可以说是目前免费图床的最佳解决方案!
---
@@ -76,9 +76,11 @@ avatar: https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@2.1.9/images/trhx.png
- 设定Token:粘贴之前生成的【Token】
-- 指定存储路径:填写想要储存的路径,如【ITRHX-PIC/】,这样就会在仓库下创建一个名为ITRHX-PIC的文件夹,图片将会储存在此文件夹中
+- 指定存储路径:填写想要储存的路径,如【ITRHX-PIC/】,这样就会在仓库下创建一个名为 ITRHX-PIC 的文件夹,图片将会储存在此文件夹中
-- 设定自定义域名:它的的作用是,在图片上传后,PicGo会按照【自定义域名+上传的图片名】的方式生成访问链接,放到粘贴板上,因为我们要使用jsDelivr加速访问,所以可以设置为【https://cdn.jsdelivr.net/gh/用户名/图床仓库名 】,关于jsDelivr是如何引用资源的可以参考我的另一篇博客:[《免费CDN:jsDeliver+Github》](https://www.itrhx.com/2019/02/10/A18-free-cdn/)
+- 设定自定义域名:它的作用是,在图片上传后,PicGo 会按照【自定义域名+储存路径+上传的图片名】的方式生成访问链接,并放到粘贴板上,因为我们要使用 jsDelivr 加速访问,所以可以设置为【https://cdn.jsdelivr.net/gh/用户名/图床仓库名 】,上传完毕后,我们就可以通过【https://cdn.jsdelivr.net/gh/用户名/图床仓库名/图片路径 】加速访问我们的图片了,比如上图的图片链接为:https://cdn.jsdelivr.net/gh/TRHX/ImageHosting/ITRHX-PIC/A27/08.png
+
+关于 jsDelivr 具体是如何引用资源的可以参考我的另一篇博客:[《免费CDN:jsDelivr+Github》](https://www.itrhx.com/2019/02/10/A18-free-cdn/)
---
diff --git a/source/friends/index.md b/source/friends/index.md
index 24fb78efc2e3789509288df8b684e63595fa198c..cf79c22f20c33b7f8d8f73508f952d8ada92671e 100644
--- a/source/friends/index.md
+++ b/source/friends/index.md
@@ -238,7 +238,7 @@ links:
- name: Yinux's Blog
avatar: https://cdn.jsdelivr.net/gh/TRHX/ImageHosting/ITRHX-LINKS/codingpy.png
- url: https://www.codingpy.cn/
+ url: https://www.yinuxy.com/
backgroundColor: '#967ADC'
textColor: '#fff'
tags:
diff --git a/themes/hexo-theme-material-x-master/.github/ISSUE_TEMPLATE/------.md b/themes/hexo-theme-material-x-master/.github/ISSUE_TEMPLATE/------.md
deleted file mode 100644
index ff82096acc8c419d59683b0ca9ad726509b538ca..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/.github/ISSUE_TEMPLATE/------.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-name: 使用遇到问题
-about: 使用遇到问题请先认真阅读文档,仍然无法解决可在文档页面下方留言。
-
----
-
-如果你发现 无法使用 或者效果与示例有较大区别,可以使用hexo官方提供的用于单元测试的博客应用本主题查看样式是否正常,对比_config.yml文件排查问题。
-
-## 下载单元测试:
-
-Hexo官方的单元测试博客: [https://github.com/hexojs/hexo-theme-unit-test](https://github.com/hexojs/hexo-theme-unit-test)。
-如果你的系统是macOS,则可以使用hexo.sh脚本一键完成测试。
-
-## 提问前请先认真阅读文档
-
-文档:[https://xaoxuu.com/wiki/material-x/](https://xaoxuu.com/wiki/material-x/)
diff --git a/themes/hexo-theme-material-x-master/.gitignore b/themes/hexo-theme-material-x-master/.gitignore
deleted file mode 100644
index bd3e973d585be9035e1f7958e5a8846bf134b3e2..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-_site/
-.sass-cache/
-.jekyll-metadata
-.DS_Store
diff --git a/themes/hexo-theme-material-x-master/LICENSE b/themes/hexo-theme-material-x-master/LICENSE
deleted file mode 100644
index b9229be113b1891aba89567354c9f7aacec8ff86..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2017 xaoxuu
-
-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:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-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.
diff --git a/themes/hexo-theme-material-x-master/README.md b/themes/hexo-theme-material-x-master/README.md
deleted file mode 100644
index 2407f60c4ca1005cd19b80d9d5dee300e4402ea4..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/README.md
+++ /dev/null
@@ -1,87 +0,0 @@
-# Material X
-
-一个简约的卡片式Hexo博客主题。
-
-![](https://img.vim-cn.com/52/a54815c02ce232f11f54b2c547c1337828833c.png)
-
-
-#### 完全自由的模块化、易于定制化设计
-
-- 可以自由决定每个页面是否需要封面、封面是否需要背景图片、多少图片、是否需要轮播、速度如何。
-- 可以自由决定每个页面是否需要侧边栏、侧边栏小部件显示什么卡片、顺序如何。
-- 可以自由决定每个页面的主体结构(默认文章+评论),可以按需增加卡片(与侧边栏小部件共用卡片库)。
-- 可以自由决定每篇文章的meta标签(日期、更新日期、分类、标签、分享、阅读统计、置顶)显示与否、放置在文章开头还是末尾。标题、缩略图、小图标(用于归档页面)、页面专属的音乐播放器也算做meta标签,但是它们的位置固定。
-- 大部分按钮可以自由设置图标、文字、target、nofollow等
-- 方便更换主题色、自定义字体、边距、圆角、阴影等视觉效果,快速实现暗色主题。
-
-#### 易于扩展
-
-- 使用 [import](https://xaoxuu.com/wiki/material-x/config/#import) 字段方便导入css和js到主题中。
-
-#### 移动端优化
-
-- 针对移动端布局进行了大量优化。
-
-#### 更多功能的支持
-
-- 支持4种评论系统:Disqus、Gitalk、来必力和Valine评论。
-- 提供主题CDN,也可自定义CDN。
-- 使用卡片设计元素以及交互动效。
-- 使用 fontawesome 5.6.3 免费版图标。
-- 支持APlayer播放器,可以播放网易云、QQ音乐、虾米、酷狗平台以及其它服务器的音乐。
-- 支持不蒜子阅读统计、百度分析、Google分析。
-- 支持渲染MathJax数学公式,优化了渲染效果。
-
-
-
-
-
-## 博客示例
-
-| 博客 | 源码 | 说明 |
-| ----------------------------------- | -------------------------------------- | ------------------ |
-| [@mxclub](https://mxclub.github.io) | https://github.com/xaoxuu/blog-example | master分支默认效果 |
-| [@xaoxuu](https://xaoxuu.com) | 暂未开源 | myblog分支效果 |
-
-
-- **更多示例请见 [#示例博客](https://github.com/xaoxuu/hexo-theme-material-x/issues/97)**
-
-
-
-
-
-## 下载安装
-
-### A. 使用脚本全自动安装(目前仅支持macOS)
-
-1. 打开终端输入下面命令安装脚本,脚本文档见[#hexo.sh](https://xaoxuu.com/wiki/hexo.sh/)。
-```bash
-curl -s https://xaoxuu.com/install | sh -s hexo.sh
-```
-
-2. 安装成功后,在你的博客路径打开终端,输入下面命令即可安装主题和依赖包。
-```bash
-hexo.sh i x
-```
-
-
-
-### B. 手动安装
-
-1. 下载主题到 `themes/` 文件夹
-```bash
-git clone https://github.com/xaoxuu/hexo-theme-material-x themes/material-x
-```
-
-2. 然后安装必要的依赖包
-```bash
-npm i -S hexo-generator-search hexo-generator-json-content hexo-renderer-less
-```
-
-
-
-
-
-## 文档
-
-https://xaoxuu.com/wiki/material-x/
diff --git a/themes/hexo-theme-material-x-master/_config.yml b/themes/hexo-theme-material-x-master/_config.yml
deleted file mode 100644
index e514cf0220a46306fdaef033cb170209cd640548..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/_config.yml
+++ /dev/null
@@ -1,307 +0,0 @@
-############################### 基本信息 ###############################
-info:
- name: Material X
- docs: https://xaoxuu.com/wiki/material-x/
- cdn: # 把对应的那一行注释掉就使用本地的文件
- css:
- # style: https://cdn.jsdelivr.net/gh/xaoxuu/cdn-material-x@19.10.22/css/style.css
- js:
- app: https://cdn.jsdelivr.net/gh/xaoxuu/cdn-material-x@19.9/js/app.js
- search: https://cdn.jsdelivr.net/gh/xaoxuu/cdn-material-x@19.9/js/search.js
- volantis: https://cdn.jsdelivr.net/gh/xaoxuu/volantis@1.0.6/js/volantis.min.js
-
-
-
-############################### 主题风格 ###############################
-# style: material # material: 导航栏和标题栏背景是主题色
-style: pure # pure: 导航栏和标题栏背景是白色
-
-
-############################### 服务开关 ###############################
-scrollreveal: true
-nodewaves: true
-busuanzi: true
-# fastclick: true
-
-
-
-############################### 默认值 ###############################
-# 音乐控件的默认配置,如果sidebar或者page里没有提供,就取这里的参数
-music:
- enable: true # 是否启用
- color: '#1BCDFC' # 主题色
- mode: circulation # random (随机) single (单曲) circulation (列表循环) order (列表)
- server: netease # netease(网易云音乐)tencent(QQ音乐) xiami(虾米) kugou(酷狗)
- type: playlist # song (单曲) album (专辑) playlist (歌单) search (搜索)
- id: 2615636388 # 歌曲/专辑/歌单 ID
- volume: 0.7 # 音量, 0~1
- autoplay: false # 自动播放
-
-# 友链页头像占位图
-avatar_placeholder: https://cdn.jsdelivr.net/gh/xaoxuu/assets@master/avatar/avatar.png
-
-# 日期格式 http://momentjs.com/docs/
-date_format: 'YYYY-MM-DD' # 文章发布日期的格式
-updated_date_format: 'll' # 文章更新日期的格式
-
-# 幻灯片
-backstretch:
- position: cover # cover: 封面背景 full: 整个网页背景
- duration: 6000 # 持续时间(毫秒)
- fade: 2500 # 渐变(毫秒)
- images:
- - https://img.vim-cn.com/29/91197b04c13f512f734a76d4ac422d89dbe229.jpg
-
-
-
-############################### 自定义 ###############################
-# page的封面
-cover:
- scheme: search # 后期将会提供多种封面方案
- height: half # full(默认值): 首页封面占据整个第一屏幕,其他页面占半个屏幕高度, half: 所有页面都封面都只占半个屏幕高度
- title: Demo
- # logo: assets/logo.png # logo和title只显示一个,若同时设置,则只显示logo
- # search_placeholder: '搜索'
- # 主页封面菜单
- features:
- - name: 博文
- icon: fas fa-rss
- url: /
- - name: 项目
- icon: fas fa-code-branch
- url: projects/
- - name: 友链
- icon: fas fa-link
- url: friends/
- rel: nofollow
- - name: 关于
- icon: fas fa-info-circle
- url: about/
- rel: nofollow
-
-
-# 桌面端导航栏菜单
-menu_desktop:
- - name: 示例
- icon: fas fa-grin
- url: /
- - name: 分类
- icon: fas fa-folder-open
- url: blog/categories/
- rel: nofollow
- - name: 标签
- icon: fas fa-hashtag
- url: blog/tags/
- rel: nofollow
- - name: 归档
- icon: fas fa-archive
- url: blog/archives/
- rel: nofollow
-
-# 手机端导航菜单(从右上角的按钮点击展开)
-menu_mobile:
- - name: 近期文章
- icon: fas fa-clock
- url: /
- - name: 文章归档
- icon: fas fa-archive
- url: blog/archives/
- rel: nofollow
- - name: 开源项目
- icon: fas fa-code-branch
- url: projects/
- - name: 我的友链
- icon: fas fa-link
- url: friends/
- rel: nofollow
- - name: 主题文档
- icon: fas fa-book
- url: https://xaoxuu.com/wiki/material-x/
- rel: nofollow
- - name: 关于小站
- icon: fas fa-info-circle
- url: about/
- rel: nofollow
-
-layout:
- # 文章列表(主页、自定义的列表)布局
- posts:
- # 列表中每一篇文章的meta信息
- meta: [title, author, date, categories, top]
- # 列表类页面的侧边栏
- sidebar: [author, list, grid, category, tagcloud]
- # 文章页面布局
- article:
- # 文章页面主体元素,你也可以在页面的Front-matter中设置
- body: [article, comments]
- # 默认的meta信息,文章中没有配置则按照这里的配置来显示,设置为false则不显示
- # 其中,title只在header中有效,music和thumbnail无需在这里设置,文章中有则显示
- # 如果tags放置在meta.header中,那么在post列表中不显示(因为卡片下方已经有了)
- header: [title, author, date, categories, counter, top]
- footer: [updated, tags, share]
- # 文章页面的侧边栏
- sidebar: [author, toc, grid, category, tagcloud, list, related_posts]
- # 其他的页面布局暂时等于文章列表
-
-
-# 侧边栏小部件配置
-sidebar:
- - widget: author
- avatar: https://cdn.jsdelivr.net/gh/xaoxuu/assets@master/avatar/avatar.png
- social: true
- - widget: toc
- - widget: grid
- icon: fas fa-map-signs
- title: 站内导航
- rows:
- - name: 近期文章
- icon: fas fa-clock
- url: /
- - name: 文章归档
- icon: fas fa-archive
- url: blog/archives/
- rel: nofollow
- - name: 开源项目
- icon: fas fa-code-branch
- url: projects/
- - name: 我的友链
- icon: fas fa-link
- url: friends/
- rel: nofollow
- - name: 主题文档
- icon: fas fa-book
- url: https://xaoxuu.com/wiki/material-x/
- rel: nofollow
- - name: 关于小站
- icon: fas fa-info-circle
- url: about/
- rel: nofollow
- - widget: category
- more:
- icon: fas fa-expand-arrows-alt
- url: blog/categories/
- rel: nofollow
- - widget: tagcloud
- icon: fas fa-tags
- more:
- icon: fas fa-expand-arrows-alt
- url: blog/tags/
- rel: nofollow
- # - widget: related_posts # 需要安装插件 npm i -S hexo-related-popular-posts
- - widget: music
- icon: fas fa-compact-disc
- title: "最近在听"
- more:
- icon: far fa-heart
- url: https://music.163.com/#/user/home?id=63035382
- rel: external nofollow noopener noreferrer
- target: _blank
- server: netease # netease(网易云音乐)tencent(QQ音乐) xiami(虾米) kugou(酷狗)
- type: playlist # song (单曲) album (专辑) playlist (歌单) search (搜索)
- id: 2615636388 # 歌曲/专辑/歌单 ID
- - widget: list
- icon: fas fa-thumbs-up
- title: 强烈推荐
- rows:
- - name: Hexo脚本(Mac)
- url: https://xaoxuu.com/wiki/hexo.sh/
- - name: 图床脚本(Mac)
- url: https://xaoxuu.com/wiki/vim-cn.sh/
- - name: 图片在线压缩
- url: https://yasuotu.com
- - name: 生成Favicon
- url: https://realfavicongenerator.net
- - name: 简历主题
- url: https://mxclub.github.io/resume/
-
-
-
-# 社交信息
-social:
- - icon: fas fa-rss
- url: atom.xml
- - icon: fas fa-envelope
- url: mailto:me@xaoxuu.com
- - icon: fab fa-github
- url: https://github.com/xaoxuu
- - icon: fas fa-headphones-alt
- url: https://music.163.com/#/user/home?id=63035382
-
-
-# 分享按钮
-# 当id为qrcode时需要安装插件 npm i -S hexo-helper-qrcode
-share:
- - id: qq
- name: QQ好友
- img: https://cdn.jsdelivr.net/gh/xaoxuu/assets@19.1.9/logo/128/qq.png
- - id: qzone
- name: QQ空间
- img: https://cdn.jsdelivr.net/gh/xaoxuu/assets@19.1.9/logo/128/qzone.png
- # - id: qrcode
- # name: 微信
- # img: https://cdn.jsdelivr.net/gh/xaoxuu/assets@19.1.9/logo/128/wechat.png
- - id: weibo
- name: 微博
- img: https://cdn.jsdelivr.net/gh/xaoxuu/assets@19.1.9/logo/128/weibo.png
- # - id: qrcode
- # name: QRcode
- # img: https://cdn.jsdelivr.net/gh/xaoxuu/assets@19.1.9/logo/128/qrcode.png
-
-
-
-# footer: '页脚文字,支持[markdown](/)'
-
-
-############################### 评论系统 ###############################
-# disqus_shortname: 要使用哪个请复制到根目录配置文件!
-# livere_uid: 要使用哪个请复制到根目录配置文件!
-# gitalk: 要使用哪个请复制到根目录配置文件!
-# clientID: 你的clientID
-# clientSecret: 你的clientSecret
-# repo: 你的repo名
-# owner: 你的GitHub名
-# admin: [] 至少填写你的GitHub名
-# leancloud: 要使用哪个请复制到根目录配置文件!
-# app_id: 你的appId
-# app_key: 你的appKey
-
-
-############################### 杂项,请勿删除 ###############################
-#valine配置
-valine:
- enable: true # 如果你想用Valine评论系统,请设置enable为true
- volantis: true # 是否启用volantis版本(禁止匿名,增加若干贴吧、QQ表情)
- # 还需要在根目录配置文件中添加下面这三行内容
- # leancloud:
- # app_id: 你的appId
- # app_key: 你的appKey
- guest_info: nick,mail,link #valine comment header info
- placeholder: 快来评论吧~ # valine comment input placeholder(like: Please leave your footprints )
- avatar: mp # gravatar style https://valine.js.org/avatar
- pageSize: 10 # comment list page size
- verify: true # valine verify code (true/false)
- notify: true # valine mail notify (true/false)
- lang: zh-cn
- highlight: true
-
-# 搜索配置
-search:
- enable: true
- service: hexo
- # google
- google_api_key:
- google_engine_id:
- # algolia
- algolia_app_id:
- algolia_api_key:
- algolia_index_name:
- # azure
- azure_service_name:
- azure_index_name:
- azure_query_key:
- # baidu
- baidu_api_id:
-
-# Less渲染
-less:
- compress: true
diff --git a/themes/hexo-theme-material-x-master/languages/en.yml b/themes/hexo-theme-material-x-master/languages/en.yml
deleted file mode 100644
index fc257805db41271ebfc08a02dd9529426bffd03e..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/languages/en.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-sidebar:
- category: Categories
- tagcloud: Hot Tags
- toc: TOC
- related_posts: Related Posts
-post:
- top: Top
- read_more: Read More
- sticky: Sticky
- comments: Comments
- comments_placeholder: Unable to load %s, please make sure your network can access.
- copy_button: Copy
- copy_success: Copied
- copy_failure: Copy failed
- updated: updated at
- prev_page: Previous
- next_page: Next
- copyright:
- author: Post author
- link: Post link
- license_title: Copyright Notice
- license_content: "All articles in this blog are licensed under %s unless stating additionally."
-footer:
- license: 'Blog content follows the [Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) License](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en)'
- use: Use
- theme: as theme
- total_views: total visits
- total_visitors: total visitors
- times: times
-search:
- placeholder: Search
-symbol:
- comma: ", "
- period: ". "
- colon: ": "
- brackets_l: "("
- brackets_r: ")"
-# 下面这是博主相关的
-navbar:
- home: Home
- blogs: Blogs
- categories: Categories
- tags: Tags
- archives: Archives
- friends: Friends
diff --git a/themes/hexo-theme-material-x-master/languages/zh-CN.yml b/themes/hexo-theme-material-x-master/languages/zh-CN.yml
deleted file mode 100644
index 60c080d41febcdb47361c4807d119ceb042e4e1a..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/languages/zh-CN.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-sidebar:
- category: 文章分类
- tagcloud: 热门标签
- toc: 本文目录
- related_posts: 相关文章
-post:
- top: 置顶
- read_more: 阅读全文
- sticky: 置顶
- comments: 评论
- comments_placeholder: 无法加载%s评论系统,请确保您的网络能够正常访问。
- copy_button: 复制
- copy_success: 复制成功
- copy_failure: 复制失败
- updated: 更新于
- prev_page: 上一页
- next_page: 下一页
- copyright:
- author: 本文作者
- link: 本文链接
- license_title: 版权声明
- license_content: "本博客所有文章除特别声明外,均采用 %s 许可协议。转载请注明出处!"
-footer:
- license: '博客内容遵循 [署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)'
- use: 本站使用
- theme: 作为主题
- total_views: 总访问量为
- total_visitors: 总访客量
- times: 次
-search:
- placeholder: 搜索
-symbol:
- comma: ","
- period: "。"
- colon: ":"
- brackets_l: "("
- brackets_r: ")"
-# 下面这是博主相关的
-navbar:
- home: 主页
- blogs: 博客
- categories: 分类
- tags: 标签
- archives: 归档
- friends: 朋友
diff --git a/themes/hexo-theme-material-x-master/languages/zh-HK.yml b/themes/hexo-theme-material-x-master/languages/zh-HK.yml
deleted file mode 100644
index 32c0c29f2aaa0cbaa99f06045ae82e03f021413e..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/languages/zh-HK.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-sidebar:
- category: 文章分類
- tagcloud: 熱門標籤
- toc: 本文目錄
- related_posts: 相關文章
-post:
- top: 置頂
- read_more: 閱讀全文
- sticky: 置頂
- comments: 評論
- comments_placeholder: 無法加載%s評論系統,請確保您的網絡能夠正常訪問。
- copy_button: 複製
- copy_success: 複製成功
- copy_failure: 複製失敗
- updated: 更新於
- prev_page: 上一頁
- next_page: 下一頁
- copyright:
- author: 本文作者
- link: 文章連結
- license_title: 版權聲明
- license_content: "本網誌所有文章除特別聲明外,均採用 %s 許可協議。轉載請註明出處!"
-footer:
- license: '博客內容遵循 [姓名標示-非商業性-相同方式分享 4.0 國際 (CC BY-NC-SA 4.0) 協議](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh_TW)'
- use: 本站使用
- theme: 作為主題
- total_views: 總訪問量為
- total_visitors: 總訪客量為
- times: 次
-search:
- placeholder: 搜尋
-symbol:
- comma: ","
- period: "。"
- colon: ":"
- brackets_l: "("
- brackets_r: ")"
-# 下面這是博主相關的
-navbar:
- home: 主頁
- blogs: 博客
- categories: 分類
- tags: 標籤
- archives: 歸檔
- friends: 朋友
diff --git a/themes/hexo-theme-material-x-master/languages/zh-TW.yml b/themes/hexo-theme-material-x-master/languages/zh-TW.yml
deleted file mode 100644
index d53e3e6ce2a4fa1b96ee1dd15cc9799160ab470e..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/languages/zh-TW.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-sidebar:
- category: 文章分類
- tagcloud: 熱門標籤
- toc: 本文目錄
- related_posts: 相關文章
-post:
- top: 置頂
- read_more: 閱讀全文
- sticky: 置頂
- comments: 評論
- comments_placeholder: 無法加載%s評論系統,請確保您的網絡能夠正常訪問。
- copy_button: 複製
- copy_success: 複製成功
- copy_failure: 複製失敗
- updated: 更新於
- prev_page: 上一頁
- next_page: 下一頁
- copyright:
- author: 本文作者
- link: 文章連結
- license_title: 版權聲明
- license_content: "本網誌所有文章除特別聲明外,均採用 %s 許可協議。轉載請註明出處!"
-footer:
- license: '博客內容遵循 [姓名標示-非商業性-相同方式分享 4.0 國際 (CC BY-NC-SA 4.0) 協議](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh_TW)'
- use: 本站使用
- theme: 作為主題
- total_views: 總訪問量為
- total_visitors: 總訪客量為
- times: 次
-search:
- placeholder: 搜尋
-symbol:
- comma: ","
- period: "。"
- colon: ":"
- brackets_l: "("
- brackets_r: ")"
-# 下面這是博主相關的
-navbar:
- home: 主頁
- blogs: 博客
- categories: 分類
- tags: 標籤
- archives: 歸檔
- friends: 朋友
diff --git a/themes/hexo-theme-material-x-master/layout/_cover/search.ejs b/themes/hexo-theme-material-x-master/layout/_cover/search.ejs
deleted file mode 100644
index e742dfe3ac0ac46b60edb3a33c04827e3bcf5fee..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_cover/search.ejs
+++ /dev/null
@@ -1,33 +0,0 @@
-<% if (theme.cover.logo) { %>
-
-<% } else { %>
-
<%- theme.cover.title ? theme.cover.title : config.title %>
-<% } %>
-<% if (theme.search.enable === true) { %>
-
-
-
-<% } %>
-
diff --git a/themes/hexo-theme-material-x-master/layout/_meta/author.ejs b/themes/hexo-theme-material-x-master/layout/_meta/author.ejs
deleted file mode 100644
index 409d1592ae589d89c1c36b0aae5ac9d5dec8c7f2..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_meta/author.ejs
+++ /dev/null
@@ -1,23 +0,0 @@
-<% if(post.author || config.author){ %>
-
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/_meta/categories.ejs b/themes/hexo-theme-material-x-master/layout/_meta/categories.ejs
deleted file mode 100644
index a73aaf7f5aeb2df9242a36c9a25cc6241a7b59b2..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_meta/categories.ejs
+++ /dev/null
@@ -1,16 +0,0 @@
-<% if (post.categories && post.categories.length && post.categories.forEach){ %>
- <%
- var cats = [];
- var path;
- post.categories.forEach(function(cat){
- cats.push(cat.name);
- path = cat.path;
- });
- %>
-
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/_meta/counter.ejs b/themes/hexo-theme-material-x-master/layout/_meta/counter.ejs
deleted file mode 100644
index 59579ec10af460d67a6b7a0312ed2dd9d95f39bc..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_meta/counter.ejs
+++ /dev/null
@@ -1,14 +0,0 @@
-<% if(!isPostList){ %>
- <% if (theme.busuanzi == true) { %>
-
- <% } %>
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/_meta/date.ejs b/themes/hexo-theme-material-x-master/layout/_meta/date.ejs
deleted file mode 100644
index 097bab97ebf8f577317a65d03a33fe4551286c8e..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_meta/date.ejs
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/themes/hexo-theme-material-x-master/layout/_meta/music.ejs b/themes/hexo-theme-material-x-master/layout/_meta/music.ejs
deleted file mode 100644
index 71268feed5ec25d372f172378067d72ccedc0058..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_meta/music.ejs
+++ /dev/null
@@ -1,6 +0,0 @@
-<% if(post.music && post.music.enable != false){ %>
- <%- partial('../_third-party/aplayer',
- {aplayer_theme: '', aplayer_mini: true, aplayer_mode: 'circulation',
- aplayer_server: post.music.server, aplayer_type: post.music.type, aplayer_id: post.music.id,
- aplayer_volume: post.music.volume?post.music.volume:'0.7', aplayer_autoplay: post.music.autoplay?true:false }) %>
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/_meta/share.ejs b/themes/hexo-theme-material-x-master/layout/_meta/share.ejs
deleted file mode 100644
index cb515b39281e6e65a7b25f4314f9168130df1f88..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_meta/share.ejs
+++ /dev/null
@@ -1,3 +0,0 @@
-<% if (theme.share) { %>
- <%- partial('../_third-party/share') %>
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/_meta/tags.ejs b/themes/hexo-theme-material-x-master/layout/_meta/tags.ejs
deleted file mode 100644
index b219bbe5dff762d0f8c2f79a2870e0f00095bb57..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_meta/tags.ejs
+++ /dev/null
@@ -1,9 +0,0 @@
-<% if (!isPostList && post.tags && post.tags.length) { %>
- <%
- var items = [];
- post.tags.each(function(item){
- items.push('');
- });
- %>
- <%- items.join(' ') %>
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/_meta/thumbnail.ejs b/themes/hexo-theme-material-x-master/layout/_meta/thumbnail.ejs
deleted file mode 100644
index 8cd47623cb7efb47b8561b9221e347d03a306077..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_meta/thumbnail.ejs
+++ /dev/null
@@ -1,3 +0,0 @@
-<% if(post.thumbnail && post.thumbnail.length){ %>
-
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/_meta/title.ejs b/themes/hexo-theme-material-x-master/layout/_meta/title.ejs
deleted file mode 100644
index be03ffb0ad2b403200948d7b18595b95877ff519..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_meta/title.ejs
+++ /dev/null
@@ -1,15 +0,0 @@
-<% if(isPostList){ %>
-
-<% } else { %>
- <% if (post.title || page.title || config.title) { %>
-
- <% } %>
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/_meta/top.ejs b/themes/hexo-theme-material-x-master/layout/_meta/top.ejs
deleted file mode 100644
index b3b9b3d728c35d54c0adbb8415b1bb027842917d..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_meta/top.ejs
+++ /dev/null
@@ -1,8 +0,0 @@
-<% if(isPostList && post.top){ %>
-
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/_meta/updated.ejs b/themes/hexo-theme-material-x-master/layout/_meta/updated.ejs
deleted file mode 100644
index dc58c1ab34f47f5770863794e5bbed0238d6b6dd..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_meta/updated.ejs
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/themes/hexo-theme-material-x-master/layout/_partial/archive.ejs b/themes/hexo-theme-material-x-master/layout/_partial/archive.ejs
deleted file mode 100644
index 52fbf4bb57201d957b7696bae26ca0e30620ce20..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_partial/archive.ejs
+++ /dev/null
@@ -1,76 +0,0 @@
-<% if (site.posts && site.posts.length > 0) { %>
-
- <% if (!page.prev) { %>
- <% if (is_home()) { %>
- <% site.posts.each(function(post){ %>
- <% if (post.top) { %>
- <% if (page.type == undefined || post.type == page.type) { %>
-
- <%- partial('post', {post: post}) %>
-
- <% } %>
- <% } %>
- <% }) %>
- <% } else if (page.posts && page.posts.length > 0) { %>
- <% page.posts.each(function(post){ %>
- <% if (post.top) { %>
-
- <%- partial('post', {post: post}) %>
-
- <% } %>
- <% }) %>
- <% } %>
- <% } %>
- <% if (page.posts && page.posts.length > 0) { %>
- <% page.posts.each(function(post){ %>
- <% if (!post.top) { %>
-
- <%- partial('post', {post: post}) %>
-
- <% } %>
- <% }) %>
- <% } %>
-
- <% if (page && page.posts) { %>
- <% if (page.total > 1) { %>
-
-
-
- <% } %>
-
- <%
- var need_mathjax = false;
- page.posts.each(function(post){
- if (post.mathjax){
- if (post.mathjax != "internal") {
- need_mathjax = true;
- }
- }
- });
- %>
- <% if (need_mathjax){ %>
- <%- partial('mathjax') %>
- <% } %>
-
- <% } %>
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/_partial/article.ejs b/themes/hexo-theme-material-x-master/layout/_partial/article.ejs
deleted file mode 100644
index 03e4fe443a8b3c7192e6b61e9cbf90c9a33d2359..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_partial/article.ejs
+++ /dev/null
@@ -1,107 +0,0 @@
-<% var sections = page.body ? page.body : theme.layout.article.body; %>
-<% if (sections.indexOf('article') > -1) { %>
-
- <%- partial('meta', {post: post, position: 'header'}) %>
-
-
- <%- post.content %>
-
- <% if(post.layout == 'post'){ %>
-
- <%- partial('meta', {post: post, position: 'footer'}) %>
- <% } %>
- <% if(post.prev || post.next){ %>
-
- <% if(post.prev){ %>
-
-
- <%- __('post.prev_page') %>
-
- <% if (post.prev.tags && post.prev.tags.length && post.prev.tags.each) { %>
- <%
- var items = [];
- post.prev.tags.each(function(item){
- items.push(' ' + item.name + '');
- });
- %>
-
- <% } %>
-
-
- <% } %>
- <% if(post.next){ %>
-
-
- <%- __('post.next_page') %>
-
- <% if (post.next.tags && post.next.tags.length && post.next.tags.each) { %>
- <%
- var items = [];
- post.next.tags.each(function(item){
- items.push(' ' + item.name + '');
- });
- %>
-
- <% } %>
-
-
- <%} %>
-
- <%} %>
-
-
-<% } %>
-<% if (sections.indexOf('category') > -1 || sections.indexOf('tagcloud') > -1 || sections.indexOf('related_posts') > -1) { %>
- <% sections.forEach(function(sectionName){ %>
- <% if (['category', 'tagcloud', 'related_posts'].indexOf(sectionName) > -1) { %>
- <% theme.sidebar.forEach(function(item){ %>
- <% if (item.widget == sectionName) { %>
- <%- partial('../_widget/' + item.widget, {item: item}) %>
- <% } %>
- <% }) %>
- <% } %>
- <% }) %>
-<% } %>
-<% if (sections.indexOf('comments') > -1) { %>
- <%- partial('../_third-party/comments') %>
-<% } %>
-
-<%
- if (sections.indexOf('comments') < 0) {
- page.comments = false;
- }
-%>
-
-
-<% if (page.mathjax){ %>
- <%- partial('mathjax') %>
-<% } %>
-
-<% if (page.layout == 'post'){ %>
-
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/_partial/categories.ejs b/themes/hexo-theme-material-x-master/layout/_partial/categories.ejs
deleted file mode 100644
index f9f33f488302624a99df3510e319a65f6c0985c8..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_partial/categories.ejs
+++ /dev/null
@@ -1,11 +0,0 @@
-<% if (post.categories && post.categories.length && post.categories.forEach){ %>
- <%
- var cats = [];
- post.categories.forEach(function(cat){
- cats.push('' + cat.name + '');
- });
- %>
-
- <%- cats.join(' / ') %>
-
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/_partial/cover.ejs b/themes/hexo-theme-material-x-master/layout/_partial/cover.ejs
deleted file mode 100644
index c6c84f46a47a8900b3a712daded36614b16e395a..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_partial/cover.ejs
+++ /dev/null
@@ -1,12 +0,0 @@
-<% if (showCover == true) { %>
-
-
- <% if (theme.cover.scheme == 'search') { %>
- <%- partial('../_cover/search') %>
- <% } %>
-
- <%- partial('header', null, {cache: false, path: path}) %>
-
-<% } else { %>
- <%- partial('header', null, {cache: false, path: path}) %>
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/_partial/footer.ejs b/themes/hexo-theme-material-x-master/layout/_partial/footer.ejs
deleted file mode 100644
index 659ed9396438584ac30ab793e8de69e23ed37a3d..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_partial/footer.ejs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
diff --git a/themes/hexo-theme-material-x-master/layout/_partial/head.ejs b/themes/hexo-theme-material-x-master/layout/_partial/head.ejs
deleted file mode 100644
index 0e527fac1a24ba2f2ea6602f7abb7dac991c3cee..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_partial/head.ejs
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
- <%
- var title = page.title;
- if (is_archive()) {
- title = 'Archives';
- if (is_month())
- title += ': ' + page.year + '/' + page.month;
- else if (is_year())
- title += ': ' + page.year;
- }
- else if (is_category())
- title = 'Category: ' + page.category;
- else if (is_tag())
- title = 'Tag: ' + page.tag;
- %>
- <% if (title) { %><%= title %> | <% } %><%= config.title %>
- <% if (page.keywords && config.keywords){ %>
-
- <% } else if (page.keywords) { %>
-
- <% } else if (config.keywords) { %>
-
- <% } %>
- <% if (page.description && config.description){ %>
-
- <% } else if (page.description) { %>
-
- <% } else if (config.description) { %>
-
- <% } %>
-
- <% if (config.feed && config.feed.path){ %>
- <%- feed_tag(config.feed.path, {title: config.title}) %>
- <% } %>
-
-
-
-
-
- <% if (config.import && config.import.meta){ %>
- <% (config.import.meta||[]).forEach(function(item){ %>
- <%- item %><% }) %>
- <% } %>
-
-
-
- <% if (theme.nodewaves == true) { %>
-
- <% } %>
-
- <% if (config.import && config.import.link){ %>
- <% (config.import.link||[]).forEach(function(item){ %>
- <%- item %><% }) %>
- <% } %>
-
- <% if (config.favicon) { %>
-
- <% } %>
-
- <% if (theme.info && theme.info.cdn && theme.info.cdn.css && theme.info.cdn.css.style) { %>
- <%- css(theme.info.cdn.css.style) %>
- <% } else { %>
- <%- css('style.css') %>
- <% } %>
-
-
-
- <% if (config.google_analytics_key) { %>
-
-
-
- <% } %>
- <% if (config.baidu_analytics_key) { %>
-
-
- <% } %>
-
diff --git a/themes/hexo-theme-material-x-master/layout/_partial/header.ejs b/themes/hexo-theme-material-x-master/layout/_partial/header.ejs
deleted file mode 100644
index dcfdfb729d4328fa04dd6f1fe9d3e44ceb7b9682..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_partial/header.ejs
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
diff --git a/themes/hexo-theme-material-x-master/layout/_partial/mathjax.ejs b/themes/hexo-theme-material-x-master/layout/_partial/mathjax.ejs
deleted file mode 100644
index 56656ca54bcb8e00f1f837db16f2ea346246f677..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_partial/mathjax.ejs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
diff --git a/themes/hexo-theme-material-x-master/layout/_partial/meta.ejs b/themes/hexo-theme-material-x-master/layout/_partial/meta.ejs
deleted file mode 100644
index b0b035d4739af71f90cc6d3395bca2901583ea85..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_partial/meta.ejs
+++ /dev/null
@@ -1,71 +0,0 @@
-<% if(is_home() || is_category() || is_archive() || is_tag() || page.layout == 'list') {
- var isPostList = true;
-} else {
- var isPostList = false;
-}
-var topMetas = (theme.meta && theme.meta.header) || [];
-if (isPostList) {
- topMetas = theme.layout.posts.meta || [];
-} else {
- topMetas = theme.layout.article.header || [];
-}
-if (post.meta && (post.meta.header !== undefined && post.meta.header !== null)) {
- if (post.meta.header.length) {
- topMetas = post.meta.header;
- } else {
- topMetas = [];
- }
-}
-var bottomMetas = (theme.meta && theme.meta.footer) || [];
-if (isPostList) {
- bottomMetas = [];
-} else {
- bottomMetas = theme.layout.article.footer || [];
-}
-if (post.meta && (post.meta.footer !== undefined && post.meta.footer !== null)) {
- if (post.meta.footer.length) {
- bottomMetas = post.meta.footer;
- } else {
- bottomMetas = [];
- }
-}
-%>
-
-<% if (position == 'header') { %>
-
-<% } else if (position == 'footer') { %>
-
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/_partial/post.ejs b/themes/hexo-theme-material-x-master/layout/_partial/post.ejs
deleted file mode 100644
index e56d708b16673747cd47cdddd7c5167bea7ef6f5..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_partial/post.ejs
+++ /dev/null
@@ -1,23 +0,0 @@
-">
- <%- partial('meta',{post:post, position:'header'}) %>
-
-
- <%- post.excerpt || post.description %>
- <% if (post.readmore != false && post.path) { %>
-
- <% } %>
-
- <% if (post.tags && post.tags.length) { %>
-
- <% } %>
-
-
diff --git a/themes/hexo-theme-material-x-master/layout/_partial/scripts.ejs b/themes/hexo-theme-material-x-master/layout/_partial/scripts.ejs
deleted file mode 100644
index c970edb5966390f64e2ea167d552e32cb4fc6ab8..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_partial/scripts.ejs
+++ /dev/null
@@ -1,231 +0,0 @@
-
-<% if (theme.search && theme.search.enable) { %>
-
-<% } %>
-
-
-<% if (theme.scrollreveal == true) { %>
-
-
-<% } %>
-<% if (theme.nodewaves == true) { %>
-
-
-<% } %>
-<% if (theme.busuanzi == true) { %>
-
-<% } %>
-<% if (theme.fastclick == true) { %>
-
-
-
-<% } %>
-
-<% if (theme.backstretch && (theme.backstretch.images || page.images)) { %>
- <% var imgs = theme.backstretch.images || page.images; %>
- <% var posi = null;
- if (theme.backstretch.position == 'cover') {
- posi = '.cover';
- }
- %>
- <% if (imgs != undefined && theme.backstretch.position != undefined){ %>
-
-
- <% } %>
-<% } %>
-
-
-<%
- var enableDisqus = false;
- var enableLivere = false;
- var enableGitalk = false;
- var enableValine = false;
- if (page && page.comments == true) {
- if (config.disqus_shortname) {
- enableDisqus = true;
- }
- if (config.livere_uid) {
- enableLivere = true;
- }
- if (config.gitalk) {
- enableGitalk = true;
- }
- if (theme.valine.enable && config.leancloud) {
- enableValine = true;
- }
- }
-%>
-<% if (enableDisqus){ %>
-
-<% } %>
-<% if (enableLivere){ %>
-
-<% } %>
-<% if (enableGitalk) { %>
-
-
-
-<% } %>
-
-<% if (enableValine){ %>
-
- <% if (theme.valine.volantis == true) { %>
- <% if (theme.info && theme.info.cdn && theme.info.cdn.js && theme.info.cdn.js.volantis) { %>
- <%- js(theme.info.cdn.js.volantis) %>
- <% } else { %>
- <%- js(['js/volantis.js']) %>
- <% } %>
- <% } else { %>
-
- <% } %>
-
-<% } %>
-
-<% if (theme.info && theme.info.cdn && theme.info.cdn.js && theme.info.cdn.js.app) { %>
- <%- js(theme.info.cdn.js.app) %>
-<% } else { %>
- <%- js(['js/app.js']) %>
-<% } %>
-<% if (theme.info && theme.info.cdn && theme.info.cdn.js && theme.info.cdn.js.search) { %>
- <%- js(theme.info.cdn.js.search) %>
-<% } else { %>
- <%- js(['js/search.js']) %>
-<% } %>
-
-<% if (page.layout == 'links') { %>
- <%- js('https://cdn.jsdelivr.net/gh/toddmotto/echo@1.7.3/src/echo.js') %>
-
-<% } %>
-
-
-<%- partial('_third-party/clipboard') %>
-
-
-<%- partial('_third-party/fancybox') %>
-
-
-<% if (config.import && config.import.script){ %>
-<% (config.import.script||[]).forEach(function(item){ %>
-<%- item %><% }) %>
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/_partial/side.ejs b/themes/hexo-theme-material-x-master/layout/_partial/side.ejs
deleted file mode 100644
index 44a9e6c80fac1a95f2d53b5b443a4c55aa66a27c..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_partial/side.ejs
+++ /dev/null
@@ -1,44 +0,0 @@
-
diff --git a/themes/hexo-theme-material-x-master/layout/_third-party/aplayer.ejs b/themes/hexo-theme-material-x-master/layout/_third-party/aplayer.ejs
deleted file mode 100644
index c1cf813c49f870c9b7cf12345cf08b9ad662d001..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_third-party/aplayer.ejs
+++ /dev/null
@@ -1,15 +0,0 @@
-<% if (theme.music && theme.music.enable == true) { %>
-
- data-mini=true <%}%>
- <%if(aplayer_autoplay != undefined ? aplayer_autoplay : theme.music.autoplay){%>data-autoplay=true <%}%>
- data-mode="<%- aplayer_mode != undefined ? aplayer_mode : theme.music.mode %>"
- data-server="<%= aplayer_server != undefined ? aplayer_server : theme.music.server %>"
- data-type="<%= aplayer_type != undefined ? aplayer_type : theme.music.type %>"
- data-id="<%= aplayer_id != undefined ? aplayer_id : theme.music.id %>"
- data-volume="<%= aplayer_volume != undefined ? aplayer_volume : theme.music.volume %>">
-
-
-
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/_third-party/clipboard.ejs b/themes/hexo-theme-material-x-master/layout/_third-party/clipboard.ejs
deleted file mode 100644
index ec1df04eedce107e14e0a92ec082c85638b15b61..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_third-party/clipboard.ejs
+++ /dev/null
@@ -1,82 +0,0 @@
-
-
diff --git a/themes/hexo-theme-material-x-master/layout/_third-party/comments.ejs b/themes/hexo-theme-material-x-master/layout/_third-party/comments.ejs
deleted file mode 100644
index ec24df97b4b485021753a1a292159e147bd9d38b..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_third-party/comments.ejs
+++ /dev/null
@@ -1,57 +0,0 @@
-
-<%
- var enableDisqus = false;
- var enableLivere = false;
- var enableGitalk = false;
- var enableValine = false;
- if (page && page.comments != false) {
- if (config.disqus_shortname) {
- enableDisqus = true;
- }
- if (config.livere_uid) {
- enableLivere = true;
- }
- if (config.gitalk) {
- enableGitalk = true;
- }
- if (theme.valine.enable && config.leancloud) {
- enableValine = true;
- }
- }
-%>
-
-<% if (enableDisqus || enableLivere || enableGitalk || enableValine) { %>
-
-<% } else { %>
- <% page.comments = false; %>
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/_third-party/fancybox.ejs b/themes/hexo-theme-material-x-master/layout/_third-party/fancybox.ejs
deleted file mode 100644
index 967dee24a1c98b5cb3c495cfc3aa69a95df275dc..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_third-party/fancybox.ejs
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
diff --git a/themes/hexo-theme-material-x-master/layout/_third-party/share.ejs b/themes/hexo-theme-material-x-master/layout/_third-party/share.ejs
deleted file mode 100644
index 4797143239427bd1fa8879498ecdd6cb53b141a1..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_third-party/share.ejs
+++ /dev/null
@@ -1,31 +0,0 @@
-
diff --git a/themes/hexo-theme-material-x-master/layout/_widget/author.ejs b/themes/hexo-theme-material-x-master/layout/_widget/author.ejs
deleted file mode 100644
index 62bc147720f29db5d9ea8db0f96eed97909a961d..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_widget/author.ejs
+++ /dev/null
@@ -1,36 +0,0 @@
-
diff --git a/themes/hexo-theme-material-x-master/layout/_widget/category.ejs b/themes/hexo-theme-material-x-master/layout/_widget/category.ejs
deleted file mode 100644
index 2f510ccd7df3499fa7a1f09103491c5ad9e5b743..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_widget/category.ejs
+++ /dev/null
@@ -1,12 +0,0 @@
-<% if (site.categories.length){ %>
-
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/_widget/grid.ejs b/themes/hexo-theme-material-x-master/layout/_widget/grid.ejs
deleted file mode 100644
index 8cd86296f2a52e755d4b8506b6fd199b79340c35..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_widget/grid.ejs
+++ /dev/null
@@ -1,26 +0,0 @@
-
diff --git a/themes/hexo-theme-material-x-master/layout/_widget/header.ejs b/themes/hexo-theme-material-x-master/layout/_widget/header.ejs
deleted file mode 100644
index ce5cfd17feb078e34f56320d001cb796ade2966d..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_widget/header.ejs
+++ /dev/null
@@ -1,23 +0,0 @@
-<%
- let icon = item.icon ? item.icon : defIcon;
- let title = item.title ? item.title : defTitle;
-%>
-
diff --git a/themes/hexo-theme-material-x-master/layout/_widget/list.ejs b/themes/hexo-theme-material-x-master/layout/_widget/list.ejs
deleted file mode 100644
index 70ced6d31be80b3153c01b24990eed9611d4fb3a..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_widget/list.ejs
+++ /dev/null
@@ -1,31 +0,0 @@
-
diff --git a/themes/hexo-theme-material-x-master/layout/_widget/music.ejs b/themes/hexo-theme-material-x-master/layout/_widget/music.ejs
deleted file mode 100644
index eaab7decac71c83d707f58d7d7ecef97cb13803b..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_widget/music.ejs
+++ /dev/null
@@ -1,21 +0,0 @@
-<%
-var needDisplay = true;
-if (page.music && page.music.autoplay) {
- needDisplay = false;
-}
-if (page.widget && page.widget.music == false) {
- needDisplay = false;
-}
-%>
-
-<% if (theme.music && theme.music.enable == true && needDisplay == true) { %>
-
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/_widget/plain.ejs b/themes/hexo-theme-material-x-master/layout/_widget/plain.ejs
deleted file mode 100644
index e7fbdab1ab07b72cfb45c2e4b2744cb5be43d9f4..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_widget/plain.ejs
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/themes/hexo-theme-material-x-master/layout/_widget/related_posts.ejs b/themes/hexo-theme-material-x-master/layout/_widget/related_posts.ejs
deleted file mode 100644
index 502881552dec96c52ff0e30c724d74163a8be977..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_widget/related_posts.ejs
+++ /dev/null
@@ -1,8 +0,0 @@
-<% if(page.layout == 'post' && page.content && page.path != undefined){ %>
-
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/_widget/tagcloud.ejs b/themes/hexo-theme-material-x-master/layout/_widget/tagcloud.ejs
deleted file mode 100644
index ed37435db88e8b45f032ebc18cfd9e1f715513f7..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_widget/tagcloud.ejs
+++ /dev/null
@@ -1,14 +0,0 @@
-<% if (site.tags.length){ %>
-
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/_widget/toc.ejs b/themes/hexo-theme-material-x-master/layout/_widget/toc.ejs
deleted file mode 100644
index d0467d8b1edc0cf312d288b498b282620b3466c8..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/_widget/toc.ejs
+++ /dev/null
@@ -1,8 +0,0 @@
-<% if(page.layout == 'post' && page.content && toc(page.content).length > 0){ %>
-
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/archive.ejs b/themes/hexo-theme-material-x-master/layout/archive.ejs
deleted file mode 100644
index c57b19c396a7d8dc7adbebad99f55e26325ba6ae..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/archive.ejs
+++ /dev/null
@@ -1,64 +0,0 @@
-'>
- <% if (page.year || page.month) { %>
- <%- partial('_partial/archive') %>
- <% } else { %>
-
-
- <%
- var year = -1, postid = -1;
- site.posts.sort('date', -1).each(function(post) {
- post.year = date(post.date, 'YYYY');
- if (post.year && post.year !== year) {
- year = post.year;
- %>
-
-
<%= year %>
-
- <% } %>
-
- <% }); %>
-
-
- <% } %>
-
-<%- partial('_partial/side') %>
-<%- partial('_partial/footer', null, {cache: !config.relative_link}) %>
-
-
-<% if (page && page.posts) { %>
-
- <%
- var need_mathjax = false;
- page.posts.each(function(post){
- if (post.mathjax){
- if (post.mathjax != "internal") {
- need_mathjax = true;
- }
- }
- });
- %>
-
- <% if (need_mathjax){ %>
- <%- partial('_partial/mathjax') %>
- <% } %>
-<% } %>
diff --git a/themes/hexo-theme-material-x-master/layout/category.ejs b/themes/hexo-theme-material-x-master/layout/category.ejs
deleted file mode 100644
index fc1ea2a3592957ed6edce82e993f7b2b2c9eacff..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/category.ejs
+++ /dev/null
@@ -1,38 +0,0 @@
-<% page.comments = false; %>
-'>
- <% if (site.posts && site.posts.length > 0) { %>
- <% if (page.layout == 'category') { %>
-
- <% } else { %>
- <%- partial('_partial/archive') %>
- <% } %>
- <% } %>
-
-
-<%- partial('_partial/side') %>
-<%- partial('_partial/footer', null, {cache: !config.relative_link}) %>
diff --git a/themes/hexo-theme-material-x-master/layout/index.ejs b/themes/hexo-theme-material-x-master/layout/index.ejs
deleted file mode 100644
index 11ef3c83e13b8e96d30e8a7487a30aa77ec727a3..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/index.ejs
+++ /dev/null
@@ -1,5 +0,0 @@
-'>
- <%- partial('_partial/archive') %>
-
-<%- partial('_partial/side') %>
-<%- partial('_partial/footer', null, {cache: !config.relative_link}) %>
diff --git a/themes/hexo-theme-material-x-master/layout/layout.ejs b/themes/hexo-theme-material-x-master/layout/layout.ejs
deleted file mode 100644
index 29acf0caff36ce161d25615f455264cf3d870033..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/layout.ejs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-<%- partial('_partial/head') %>
-
- <%
- var showCover = false;
- if (theme.cover) {
- // 如果页面的Front-matter声明了cover,就取页面的值
- if (page.cover != undefined && page.cover != undefined) {
- showCover = page.cover;
- } else {
- // 否则,如果是首页,只有首页的第一页显示
- if (is_home()) {
- if (page.prev) {
- showCover = false;
- } else {
- showCover = true;
- }
- } else {
- showCover = true;
- }
- }
- }
- %>
- <%- partial('_partial/cover', {showCover: showCover}) %>
-
- <%- partial('_partial/scripts') %>
-
-
-
diff --git a/themes/hexo-theme-material-x-master/layout/links.ejs b/themes/hexo-theme-material-x-master/layout/links.ejs
deleted file mode 100644
index 9d3afde46bdac2dd51147b3a0f4dcd1520ba0291..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/links.ejs
+++ /dev/null
@@ -1,51 +0,0 @@
-'>
-
- <%- partial('_partial/meta',{post:page, position:'header'}) %>
-
- <% if (page.links){ %>
- <% (page.links||[]).forEach(function(group){ %>
- <% if(group.items) { %>
-
- <%} %>
- <% }) %>
- <% } %>
-
- <%- page.content %>
-
-
-
- <%- partial('_third-party/comments') %>
-
-
-<%- partial('_partial/side') %>
-<%- partial('_partial/footer', null, {cache: !config.relative_link}) %>
diff --git a/themes/hexo-theme-material-x-master/layout/list.ejs b/themes/hexo-theme-material-x-master/layout/list.ejs
deleted file mode 100644
index c41d87ef34d0c940b6731ee275ffe6ca9434ff15..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/list.ejs
+++ /dev/null
@@ -1,46 +0,0 @@
-<% page.comments = false; %>
-'>
- <% if (site.posts && site.posts.length > 0) { %>
-
- <% if (!page.prev) { %>
- <% site.posts.sort(page.sort ? page.sort : "-date").each(function(post){ %>
- <% if (post.type && post.type == page.type) { %>
- <% if (post.top) { %>
-
- <%- partial('_partial/post', {post: post, index: false}) %>
-
- <% } %>
- <% } %>
- <% }) %>
- <% } %>
- <% site.posts.sort(page.sort ? page.sort : "-date").each(function(post){ %>
- <% if (post.type && post.type == page.type) { %>
- <% if (!post.top) { %>
-
- <%- partial('_partial/post', {post: post, index: false}) %>
-
- <% } %>
- <% } %>
- <% }) %>
-
- <% if (page && page.posts) { %>
-
- <%
- var need_mathjax = false;
- page.posts.each(function(post){
- if (post.mathjax){
- if (post.mathjax != "internal") {
- need_mathjax = true;
- }
- }
- });
- %>
- <% if (need_mathjax){ %>
- <%- partial('mathjax') %>
- <% } %>
-
- <% } %>
- <% } %>
-
-<%- partial('_partial/side') %>
-<%- partial('_partial/footer', null, {cache: !config.relative_link}) %>
diff --git a/themes/hexo-theme-material-x-master/layout/page.ejs b/themes/hexo-theme-material-x-master/layout/page.ejs
deleted file mode 100644
index 3db1a6388b2f5e01fbde10899caf371e3a55194f..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/page.ejs
+++ /dev/null
@@ -1,5 +0,0 @@
-'>
- <%- partial('_partial/article', {post: page, index: false}) %>
-
-<%- partial('_partial/side') %>
-<%- partial('_partial/footer', null, {cache: !config.relative_link}) %>
diff --git a/themes/hexo-theme-material-x-master/layout/post.ejs b/themes/hexo-theme-material-x-master/layout/post.ejs
deleted file mode 100644
index 3db1a6388b2f5e01fbde10899caf371e3a55194f..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/post.ejs
+++ /dev/null
@@ -1,5 +0,0 @@
-'>
- <%- partial('_partial/article', {post: page, index: false}) %>
-
-<%- partial('_partial/side') %>
-<%- partial('_partial/footer', null, {cache: !config.relative_link}) %>
diff --git a/themes/hexo-theme-material-x-master/layout/tag.ejs b/themes/hexo-theme-material-x-master/layout/tag.ejs
deleted file mode 100644
index f928c1a99f5b6397f2dc9da430aa646cecbde25b..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/layout/tag.ejs
+++ /dev/null
@@ -1,39 +0,0 @@
-<% page.comments = false; %>
-
- <% if (site.posts && site.posts.length > 0) { %>
- <% if (page.layout == 'tag') { %>
-
- <% } else { %>
- <%- partial('_partial/archive') %>
- <% } %>
- <% } %>
-
-<%- partial('_partial/side') %>
-<%- partial('_partial/footer', null, {cache: !config.relative_link}) %>
diff --git a/themes/hexo-theme-material-x-master/source/fonts/Monaco.ttf b/themes/hexo-theme-material-x-master/source/fonts/Monaco.ttf
deleted file mode 100644
index 13ca480ac8b0d9ff71d3d8e20aaec374c9e3f20a..0000000000000000000000000000000000000000
Binary files a/themes/hexo-theme-material-x-master/source/fonts/Monaco.ttf and /dev/null differ
diff --git a/themes/hexo-theme-material-x-master/source/fonts/Skranji-Regular.ttf b/themes/hexo-theme-material-x-master/source/fonts/Skranji-Regular.ttf
deleted file mode 100644
index 4301e7fcfb8c5bb94d2e3816a67d9a9d76c4a8f5..0000000000000000000000000000000000000000
Binary files a/themes/hexo-theme-material-x-master/source/fonts/Skranji-Regular.ttf and /dev/null differ
diff --git a/themes/hexo-theme-material-x-master/source/fonts/Ubuntu-Regular.ttf b/themes/hexo-theme-material-x-master/source/fonts/Ubuntu-Regular.ttf
deleted file mode 100644
index 421ab0b32933755c8c511348a92752c4443f29d9..0000000000000000000000000000000000000000
Binary files a/themes/hexo-theme-material-x-master/source/fonts/Ubuntu-Regular.ttf and /dev/null differ
diff --git a/themes/hexo-theme-material-x-master/source/js/app.js b/themes/hexo-theme-material-x-master/source/js/app.js
deleted file mode 100644
index 764ebdff7cbab1bfcbcb932e3ddeeb886692edae..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/js/app.js
+++ /dev/null
@@ -1,293 +0,0 @@
-/* eslint-disable */
-var customSearch;
-(function ($) {
-
- "use strict";
- var scrollCorrection = 80; // (header height = 64px) + (gap = 16px)
- const $headerAnchor = $('.l_header', '.cover-wrapper');
- if ($headerAnchor[0]) {
- scrollCorrection = $headerAnchor[0].clientHeight + 16;
- }
-
- function scrolltoElement(elem, correction) {
- correction = correction || scrollCorrection;
- const $elem = elem.href ? $(elem.getAttribute('href')) : $(elem);
- $('html, body').animate({ 'scrollTop': $elem.offset().top - correction }, 400);
- };
-
- function setScrollAnchor(){
- // button
- const $postsBtn = $('.menu .active');
- const $topBtn = $('.s-top');
- const $titleBtn = $('h1.title', '#header-meta');
- // anchor
- const $bodyAnchor = $('.l_body');
- // action
- if ($postsBtn.length && $bodyAnchor) {
- $postsBtn.click(e => { e.preventDefault(); e.stopPropagation(); scrolltoElement($bodyAnchor); });
- }
- if ($titleBtn.length && $bodyAnchor) {
- $titleBtn.click(e => { e.preventDefault(); e.stopPropagation(); scrolltoElement($bodyAnchor); });
- }
- if ($topBtn.length && $bodyAnchor) {
- $topBtn.click(e => { e.preventDefault(); e.stopPropagation(); scrolltoElement($bodyAnchor); });
- }
-
- const $coverAnchor = $('.cover-wrapper');
- var showHeaderPoint = 0;
- if ($coverAnchor[0]) {
- showHeaderPoint = $coverAnchor[0].clientHeight - 164;
- }
- var pos = document.body.scrollTop;
- $(document, window).scroll(() => {
- const scrollTop = $(window).scrollTop();
- const del = scrollTop - pos;
- pos = scrollTop;
- if (scrollTop > 150) {
- $topBtn.addClass('show');
- if (del > 0) {
- $topBtn.removeClass('hl');
- } else {
- $topBtn.addClass('hl');
- }
- } else {
- $topBtn.removeClass('show').removeClass('hl');
- }
- if (scrollTop > showHeaderPoint) {
- $headerAnchor.addClass('show');
- } else {
- $headerAnchor.removeClass('show');
- }
- });
- }
-
- function setHeader() {
- if (!window.subData) return;
- const $wrapper = $('header .wrapper');
- const $comment = $('.s-comment', $wrapper);
- const $toc = $('.s-toc', $wrapper);
-
- $wrapper.find('.nav-sub .logo').text(window.subData.title);
- let pos = document.body.scrollTop;
- $(document, window).scroll(() => {
- const scrollTop = $(window).scrollTop();
- const del = scrollTop - pos;
- if (del >= 50 && scrollTop > 100) {
- pos = scrollTop;
- $wrapper.addClass('sub');
- } else if (del <= -50) {
- pos = scrollTop;
- $wrapper.removeClass('sub');
- }
- });
-
- // bind events to every btn
- const $commentTarget = $('#comments');
- if ($commentTarget.length) {
- $comment.click(e => { e.preventDefault(); e.stopPropagation(); scrolltoElement($commentTarget); });
- } else $comment.remove();
-
- const $tocTarget = $('.toc-wrapper');
- if ($tocTarget.length && $tocTarget.children().length) {
- $toc.click((e) => { e.stopPropagation(); $tocTarget.toggleClass('active'); });
- } else $toc.remove();
-
-
-
- }
-
- function setHeaderMenuSelection() {
- var $headerMenu = $('body .navgation');
- // 先把已经激活的取消激活
- $headerMenu.find('li a.active').removeClass('active');
- // var $underline = $headerMenu.find('.underline');
- function setUnderline($item) {
- // if (!transition) $underline.addClass('disable-trans');
- if ($item && $item.length) {
- $item.addClass('active').siblings().removeClass('active');
- }
- }
- //set current active nav
- var $active_link = null;
- var idname = location.pathname.replace(/\/|%/g, "");
- if (idname.length == 0) {
- idname = "home";
- }
- var page = idname.match(/page\d{0,}$/g);
- if (page) {
- page = page[0];
- idname = idname.split(page)[0];
- }
- var index = idname.match(/index.html/);
- if (index) {
- index = index[0];
- idname = idname.split(index)[0];
- }
- if (idname && $headerMenu) {
- $active_link = $('#' + idname, $headerMenu);
- setUnderline($active_link);
- }
- }
-
- function setHeaderMenuPhone() {
- var $switcher = $('.l_header .switcher .s-menu');
- $switcher.click(function (e) {
- e.stopPropagation();
- $('body').toggleClass('z_menu-open');
- $switcher.toggleClass('active');
- });
- $(document).click(function (e) {
- $('body').removeClass('z_menu-open');
- $switcher.removeClass('active');
- });
- }
-
- function setHeaderSearch() {
- var $switcher = $('.l_header .switcher .s-search');
- var $header = $('.l_header');
- var $search = $('.l_header .m_search');
- if ($switcher.length === 0) return;
- $switcher.click(function (e) {
- e.stopPropagation();
- $header.toggleClass('z_search-open');
- $search.find('input').focus();
- });
- $(document).click(function (e) {
- $header.removeClass('z_search-open');
- });
- $search.click(function (e) {
- e.stopPropagation();
- });
- $header.ready(function () {
- $header.bind('keydown', function (event) {
- if (event.keyCode == 9) {
- return false;
- } else {
- var isie = (document.all) ? true: false;
- var key;
- var ev;
- if (isie) { //IE浏览器
- key = window.event.keyCode;
- ev = window.event;
- } else { //火狐浏览器
- key = e.which;
- ev = e;
- }
- if (key == 9) { //IE浏览器
- if (isie) {
- ev.keyCode = 0;
- ev.returnValue = false;
- } else { //火狐浏览器
- ev.which = 0;
- ev.preventDefault();
- }
- }
- }
- });
- });
- }
-
- function setTocToggle() {
- const $toc = $('.toc-wrapper');
- if ($toc.length === 0) return;
- // $toc.click((e) => {
- // e.stopPropagation();
- // $toc.addClass('active');
- // });
- $(document).click(() => $toc.removeClass('active'));
-
- $toc.on('click', 'a', (e) => {
- e.preventDefault();
- e.stopPropagation();
- if (e.target.tagName === 'A') {
- scrolltoElement(e.target);
- } else if (e.target.tagName === 'SPAN') {
- scrolltoElement(e.target.parentElement);
- }
- $toc.removeClass('active');
- });
-
- const liElements = Array.from($toc.find('li a'));
- //function animate above will convert float to int.
- const getAnchor = () => liElements.map(elem => Math.floor($(elem.getAttribute('href')).offset().top - scrollCorrection));
-
- let anchor = getAnchor();
- const scrollListener = () => {
- const scrollTop = $('html').scrollTop() || $('body').scrollTop();
- if (!anchor) return;
- //binary search.
- let l = 0, r = anchor.length - 1, mid;
- while (l < r) {
- mid = (l + r + 1) >> 1;
- if (anchor[mid] === scrollTop) l = r = mid;
- else if (anchor[mid] < scrollTop) l = mid;
- else r = mid - 1;
- }
- $(liElements).removeClass('active').eq(l).addClass('active');
- }
- $(window)
- .resize(() => {
- anchor = getAnchor();
- scrollListener();
- })
- .scroll(() => {
- scrollListener()
- });
- scrollListener();
- }
-
-
- $(function () {
- //set header
- setHeader();
- setHeaderMenuSelection();
- setHeaderMenuPhone();
- setHeaderSearch();
-
- setTocToggle();
- setScrollAnchor();
- // $(".article .video-container").fitVids();
-
- setTimeout(function () {
- $('#loading-bar-wrapper').fadeOut(500);
- }, 300);
-
-
- if (SEARCH_SERVICE === 'google') {
- customSearch = new GoogleCustomSearch({
- apiKey: GOOGLE_CUSTOM_SEARCH_API_KEY,
- engineId: GOOGLE_CUSTOM_SEARCH_ENGINE_ID,
- imagePath: "/images/"
- });
- }
- else if (SEARCH_SERVICE === 'algolia') {
- customSearch = new AlgoliaSearch({
- apiKey: ALGOLIA_API_KEY,
- appId: ALGOLIA_APP_ID,
- indexName: ALGOLIA_INDEX_NAME,
- imagePath: "/images/"
- });
- }
- else if (SEARCH_SERVICE === 'hexo') {
- customSearch = new HexoSearch({
- imagePath: "/images/"
- });
- }
- else if (SEARCH_SERVICE === 'azure') {
- customSearch = new AzureSearch({
- serviceName: AZURE_SERVICE_NAME,
- indexName: AZURE_INDEX_NAME,
- queryKey: AZURE_QUERY_KEY,
- imagePath: "/images/"
- });
- }
- else if (SEARCH_SERVICE === 'baidu') {
- customSearch = new BaiduSearch({
- apiId: BAIDU_API_ID,
- imagePath: "/images/"
- });
- }
-
- });
-
-})(jQuery);
diff --git a/themes/hexo-theme-material-x-master/source/js/search.js b/themes/hexo-theme-material-x-master/source/js/search.js
deleted file mode 100644
index 9da102d0495dd44c7f0e0a0586c6e3d2adc42663..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/js/search.js
+++ /dev/null
@@ -1,780 +0,0 @@
-/* eslint-disable */
-var SearchService = "";
-
-(function($) {
- /**
- * A super class of common logics for all search services
- * @param options : (object)
- */
- SearchService = function(options) {
- var self = this;
-
- self.config = $.extend({
- per_page: 10,
- selectors: {
- body: "body",
- form: ".u-search-form",
- input: ".u-search-input",
- container: "#u-search",
- modal: "#u-search .modal",
- modal_body: "#u-search .modal-body",
- modal_footer: "#u-search .modal-footer",
- modal_overlay: "#u-search .modal-overlay",
- modal_results: "#u-search .modal-results",
- modal_metadata: "#u-search .modal-metadata",
- modal_error: "#u-search .modal-error",
- modal_loading_bar: "#u-search .modal-loading-bar",
- modal_ajax_content: "#u-search .modal-ajax-content",
- modal_logo: '#u-search .modal-footer .logo',
- btn_close: "#u-search .btn-close",
- btn_next: "#u-search .btn-next",
- btn_prev: "#u-search .btn-prev"
- },
- brands: {
- 'google': {logo: 'google.svg', url: 'https://cse.google.com'},
- 'algolia': {logo: 'algolia.svg', url: 'https://www.algolia.com'},
- 'hexo': {logo: '', url: ''},
- 'azure': {logo: 'azure.svg', url: 'https://azure.microsoft.com/en-us/services/search/'},
- 'baidu': {logo: 'baidu.svg', url: 'http://zn.baidu.com/cse/home/index'}
- },
- imagePath: ROOT + "img/"
- }, options);
-
- self.dom = {};
- self.percentLoaded = 0;
- self.open = false;
- self.queryText = "";
- self.nav = {
- next: -1,
- prev: -1,
- total: 0,
- current: 1
- };
-
- self.parseSelectors = function() {
- for (var key in self.config.selectors) {
- self.dom[key] = $(self.config.selectors[key]);
- }
- };
-
- self.beforeQuery = function() {
- if (!self.open) {
- self.dom.container.fadeIn();
- self.dom.body.addClass('modal-active');
- }
- self.dom.input.each(function(index,elem) {
- $(elem).val(self.queryText);
- });
- document.activeElement.blur();
- self.dom.modal_error.hide();
- self.dom.modal_ajax_content.removeClass('loaded');
- self.startLoading();
- };
-
- self.afterQuery = function() {
- self.dom.modal_body.scrollTop(0);
- self.dom.modal_ajax_content.addClass('loaded');
- self.stopLoading();
- };
-
- /**
- * Perform a complete serach operation including UI updates and query
- * @param startIndex {int} start index or page number
- */
- self.search = function(startIndex, callback) {
- self.beforeQuery();
- if (self.search instanceof Function) {
- self.query(self.queryText, startIndex, function() {
- self.afterQuery();
- });
- }
- else {
- console.log("query() does not exist.");
- self.onQueryError(self.queryText, '');
- self.afterQuery();
- }
- };
-
- /**
- * Query error handler
- * @param queryText: (string)
- * @param status: (string)
- */
- self.onQueryError = function(queryText, status) {
- var errMsg = "";
- if (status === "success") errMsg = "No result found for \"" +queryText+ "\".";
- else if (status === "timeout") errMsg = "Unfortunate timeout.";
- else errMsg = "Mysterious failure.";
- self.dom.modal_results.html("");
- self.dom.modal_error.html(errMsg);
- self.dom.modal_error.show();
- };
-
- self.nextPage = function() {
- if (self.nav.next !== -1) {
- self.search(self.nav.next);
- }
- };
-
- self.prevPage = function() {
- if (self.nav.prev !== -1) {
- self.search(self.nav.prev);
- }
- };
-
- /**
- * Generate html for one result
- * @param url : (string) url
- * @param title : (string) title
- * @param digest : (string) digest
- */
- self.buildResult = function(url, title, digest) {
- var html = "";
- html = "";
- html += "";
- html += "" +title+ "";
- html += "" +digest+ "";
- html += "";
- html += "";
- html += "";
- return html;
- };
-
- /**
- * Close the modal, resume body scrolling
- * no param
- */
- self.close = function() {
- self.open = false;
- self.dom.container.fadeOut();
- self.dom.body.removeClass('modal-active');
- };
-
- /**
- * Searchform submit event handler
- * @param queryText : (string) the query text
- */
- self.onSubmit = function(event) {
- event.preventDefault();
- self.queryText = $(this).find('.u-search-input').val();
- if (self.queryText) {
- self.search(1);
- }
- };
-
- /**
- * Start loading bar animation
- * no param
- */
- self.startLoading = function() {
- self.dom.modal_loading_bar.show();
- self.loadingTimer = setInterval(function() {
- self.percentLoaded = Math.min(self.percentLoaded+5,95);
- self.dom.modal_loading_bar.css('width', self.percentLoaded+'%');
- }, 100);
- };
-
- /**
- * Stop loading bar animation
- * no param
- */
- self.stopLoading = function() {
- clearInterval(self.loadingTimer);
- self.dom.modal_loading_bar.css('width', '100%');
- self.dom.modal_loading_bar.fadeOut();
- setTimeout(function() {
- self.percentLoaded = 0;
- self.dom.modal_loading_bar.css('width', '0%');
- }, 300);
- };
-
- /**
- * Add service branding
- * @param service {String} service name
- */
- self.addLogo = function(service) {
- var html = "";
- if (self.config.brands[service] && self.config.brands[service].logo) {
- html += "";
- html += '
';
- html += "";
- self.dom.modal_logo.html(html);
- }
- };
-
- self.destroy = function() {
- self.dom.form.each(function(index,elem) {
- $(elem).off('submit');
- });
- self.dom.modal_overlay.off('click');
- self.dom.btn_close.off('click');
- self.dom.btn_next.off('click');
- self.dom.btn_prev.off('click');
- self.dom.container.remove();
- };
-
- /**
- * Load template and register event handlers
- * no param
- */
- self.init = function() {
- $('body').append(template);
- self.parseSelectors();
- self.dom.modal_footer.show();
- self.dom.form.each(function(index,elem) {
- $(elem).on('submit', self.onSubmit);
- });
- self.dom.modal_overlay.on('click', self.close);
- self.dom.btn_close.on('click', self.close);
- self.dom.btn_next.on('click', self.nextPage);
- self.dom.btn_prev.on('click', self.prevPage);
- };
-
- self.init();
- };
-
- var template = '';
-})(jQuery);
-
-var AlgoliaSearch;
-
-(function($) {
- 'use strict';
-
- /**
- * Search by Algolia Search
- * @param options : (object)
- */
- AlgoliaSearch = function(options) {
- SearchService.apply(this, arguments);
- var self = this;
- var endpoint = "https://" +self.config.app_id+ "-dsn.algolia.net/1/indexes/" +self.config.indexName;
- self.addLogo('algolia');
-
- /**
- * Generate result list html
- * @param data : (array) result items
- */
- self.buildResultList = function(data) {
- var html = "";
- $.each(data, function(index, row) {
- var url = row.permalink || row.path || "";
- if (!row.permalink && row.path) {
- url = ROOT + url;
- }
- var title = row.title;
- var digest = row._highlightResult.excerptStrip.value || "";
- html += self.buildResult(url, title, digest);
- });
- return html;
- };
-
- /**
- * Generate metadata after a successful query
- * @param data : (object) the raw search response data
- */
- self.buildMetadata = function(data) {
- self.nav.current = data.page * data.hitsPerPage + 1;
- self.nav.currentCount = data.hits.length;
- self.nav.total = parseInt(data.nbHits);
- self.dom.modal_metadata.children('.total').html(self.nav.total);
- self.dom.modal_metadata.children('.range').html(self.nav.current + "-" + (self.nav.current+self.nav.currentCount-1));
- if (self.nav.total > 0) {
- self.dom.modal_metadata.show();
- }
- else {
- self.dom.modal_metadata.hide();
- }
-
- if (data.page < data.nbPages-1) {
- self.nav.next = (data.page+1)+1;
- self.dom.btn_next.show();
- }
- else {
- self.nav.next = -1;
- self.dom.btn_next.hide();
- }
- if (data.page > 0) {
- self.nav.prev = (data.page+1)-1;
- self.dom.btn_prev.show();
- }
- else {
- self.nav.prev = -1;
- self.dom.btn_prev.hide();
- }
- };
-
- /**
- * Send a GET request
- * @param queryText : (string) the query text
- * @param page : (int) the current page (start from 1)
- * @param callback : (function)
- */
- self.query = function(queryText, page, callback) {
- $.get(endpoint, {
- query: queryText,
- page: page-1,
- hitsPerPage: self.config.per_page,
- "x-algolia-application-id": self.config.app_id,
- "x-algolia-api-key": self.config.apiKey
- }, function(data, status) {
- if (status === 'success' && data.hits && data.hits.length > 0) {
- var results = self.buildResultList(data.hits);
- self.dom.modal_results.html(results);
- }
- else {
- self.onQueryError(queryText, status);
- }
- self.buildMetadata(data);
- if (callback) {
- callback(data);
- }
- });
- };
-
- return self;
- };
-
-})(jQuery);
-var AzureSearch;
-
-(function($) {
- 'use strict';
-
- /**
- * Search by Azure Search API
- * @param options : (object)
- */
- AzureSearch = function(options) {
- SearchService.apply(this, arguments);
- var self = this;
- var endpoint = "https://" +self.config.serviceName+ ".search.windows.net/indexes/" +self.config.indexName+ "/docs?api-version=2015-02-28";
- self.nav.current = 1;
- self.addLogo('azure');
-
- /**
- * Generate result list html
- * @param data : (array) result items
- */
- self.buildResultList = function(data) {
- var html = "";
- $.each(data, function(index, row) {
- var url = row.permalink || row.path || "";
- if (!row.permalink && row.path) {
- url = "/" + url;
- }
- var title = row.title;
- var digest = row.excerpt || "";
- html += self.buildResult(url, title, digest);
- });
- return html;
- };
-
- /**
- * Generate metadata after a successful query
- * @param data : (object) the raw response data
- * @param startIndex : (int) requested start index of current query
- */
- self.buildMetadata = function(data, startIndex) {
- self.nav.current = startIndex;
- self.nav.currentCount = data.value.length;
- self.nav.total = parseInt(data['@odata.count']);
- self.dom.modal_metadata.children('.total').html(self.nav.total);
- self.dom.modal_metadata.children('.range').html(self.nav.current + "-" + (self.nav.current+self.nav.currentCount-1));
- if (self.nav.total > 0) {
- self.dom.modal_metadata.show();
- }
- else {
- self.dom.modal_metadata.hide();
- }
-
- if (self.nav.current+self.nav.currentCount <= self.nav.total) {
- self.nav.next = self.nav.current+self.nav.currentCount;
- self.dom.btn_next.show();
- }
- else {
- self.nav.next = -1;
- self.dom.btn_next.hide();
- }
- if (self.nav.current > 1) {
- self.nav.prev = self.nav.current-self.config.per_page;
- self.dom.btn_prev.show();
- }
- else {
- self.nav.prev = -1;
- self.dom.btn_prev.hide();
- }
- };
-
- /**
- * Send a GET request
- * @param queryText : (string) the query text
- * @param page : (int) the current page (start from 1)
- * @param callback : (function)
- */
- self.query = function(queryText, startIndex, callback) {
- $.ajax({
- url: endpoint,
- headers: {
- "Accept": "application/json",
- "api-key": self.config.queryKey
- },
- data: {
- search: queryText,
- $orderby: "date desc",
- $skip: startIndex-1,
- $top: self.config.per_page,
- $count: true
- },
- type: "GET",
- success: function(data, status) {
- if (status === 'success' && data.value && data.value.length > 0) {
- var results = self.buildResultList(data.value);
- self.dom.modal_results.html(results);
- }
- else {
- self.onQueryError(queryText, status);
- }
- self.buildMetadata(data, startIndex);
- if (callback) {
- callback(data);
- }
- }
- });
- };
-
- return self;
- };
-
-})(jQuery);
-var BaiduSearch;
-
-(function($) {
- 'use strict';
-
- /**
- * TODO
- * Search by Baidu Search API
- * @param options : (object)
- */
- BaiduSearch = function(options) {
- SearchService.apply(this, arguments);
- var self = this;
- var endpoint = "";
- self.addLogo('baidu');
-
- /**
- * Generate result list html
- * @param data : (array) result items
- */
- self.buildResultList = function(data, queryText) {
- var results = [],
- html = "";
- $.each(data, function(index, post) {
- if (self.contentSearch(post, queryText))
- html += self.buildResult(post.linkUrl, post.title, post.abstract);
- });
- return html;
- };
-
- /**
- * Generate metadata after a successful query
- * @param data : (object) the raw google custom search response data
- */
- self.buildMetadata = function(data) {
-
- };
-
- self.loadScript = function() {
- self.dom.input.each(function(index,elem) {
- $(elem).attr('disabled', true);
- });
- var script = "";
- self.dom.body.append(script);
- };
-
- self.initBaidu = function() {
- self.cse = new BCse.Search(self.config.apiId);
- //self.cse.setPageNum(self.config.per_page);
- self.dom.input.each(function(index,elem) {
- $(elem).attr('disabled', false);
- });
- };
-
- /**
- * Get search results
- * @param queryText {String}
- * @param page {Integer}
- * @param callback {Function}
- */
- self.query = function(queryText, page, callback) {
- self.cse.getResult(queryText, function(data) {
- console.log("Searching: " + queryText);
- self.cse.getError(function(data) {
- console.log(data);
- });
- if (data.length > 0) {
- self.buildResultList(data, queryText);
- self.cse.getSearchInfo(queryText, function(data) {
- console.log(data);
- self.buildMetadata(data);
- });
- }
- else {
- self.nav.total = 0;
- self.nav.next = -1;
- self.nav.prev = -1;
- self.dom.modal_metadata.hide();
- self.dom.btn_next.hide();
- self.dom.btn_prev.hide();
- self.onQueryError(queryText, "success");
- }
- if (callback instanceof Function) {
- callback();
- }
- });
- };
-
- self.loadScript();
-
- return self;
- };
-
-})(jQuery);
-var GoogleCustomSearch = "";
-
-(function($) {
- 'use strict';
-
- /**
- * Search by Google Custom Search Engine JSON API
- * @param options : (object)
- */
- GoogleCustomSearch = function(options) {
- SearchService.apply(this, arguments);
- var self = this;
- var endpoint = "https://www.googleapis.com/customsearch/v1";
- self.addLogo('google');
-
- /**
- * Generate result list html
- * @param data : (array) result items
- */
- self.buildResultList = function(data) {
- var html = "";
- $.each(data, function(index, row) {
- var url = row.link;
- var title = row.title;
- var digest = (row.htmlSnippet || "").replace('
','');
- html += self.buildResult(url, title, digest);
- });
- return html;
- };
-
- /**
- * Generate metadata after a successful query
- * @param data : (object) the raw google custom search response data
- */
- self.buildMetadata = function(data) {
- if (data.queries && data.queries.request && data.queries.request[0].totalResults !== '0') {
- self.nav.current = data.queries.request[0].startIndex;
- self.nav.currentCount = data.queries.request[0].count;
- self.nav.total = parseInt(data.queries.request[0].totalResults);
- self.dom.modal_metadata.children('.total').html(self.nav.total);
- self.dom.modal_metadata.children('.range').html(self.nav.current + "-" + (self.nav.current+self.nav.currentCount-1));
- self.dom.modal_metadata.show();
- }
- else {
- self.dom.modal_metadata.hide();
- }
- if (data.queries && data.queries.nextPage) {
- self.nav.next = data.queries.nextPage[0].startIndex;
- self.dom.btn_next.show();
- }
- else {
- self.nav.next = -1;
- self.dom.btn_next.hide();
- }
- if (data.queries && data.queries.previousPage) {
- self.nav.prev = data.queries.previousPage[0].startIndex;
- self.dom.btn_prev.show();
- }
- else {
- self.nav.prev = -1;
- self.dom.btn_prev.hide();
- }
- };
-
- /**
- * Send a GET request
- * @param queryText : (string) the query text
- * @param startIndex : (int) the index of first item (start from 1)
- * @param callback : (function)
- */
- self.query = function(queryText, startIndex, callback) {
- $.get(endpoint, {
- key: self.config.apiKey,
- cx: self.config.engineId,
- q: queryText,
- start: startIndex,
- num: self.config.per_page
- }, function(data, status) {
- if (status === 'success' && data.items && data.items.length > 0) {
- var results = self.buildResultList(data.items);
- self.dom.modal_results.html(results);
- }
- else {
- self.onQueryError(queryText, status);
- }
- self.buildMetadata(data);
- if (callback) {
- callback();
- }
- });
- };
-
- return self;
- };
-})(jQuery);
-var HexoSearch;
-
-(function($) {
- 'use strict';
-
- /**
- * Search by Hexo generator json content
- * @param options : (object)
- */
- HexoSearch = function(options) {
- SearchService.apply(this, arguments);
- var self = this;
- self.config.endpoint = ROOT + ((options||{}).endpoint || "content.json");
- self.config.endpoint = self.config.endpoint.replace("//","/"); //make sure the url is correct
- self.cache = "";
-
- /**
- * Search queryText in title and content of a post
- * Credit to: http://hahack.com/codes/local-search-engine-for-hexo/
- * @param post : the post object
- * @param queryText : the search query
- */
- self.contentSearch = function(post, queryText) {
- var post_title = post.title.trim().toLowerCase(),
- post_content = post.text.trim().toLowerCase(),
- keywords = queryText.trim().toLowerCase().split(" "),
- foundMatch = false,
- index_title = -1,
- index_content = -1,
- first_occur = -1;
- if (post_title !== '' && post_content !== '') {
- $.each(keywords, function(index, word) {
- index_title = post_title.indexOf(word);
- index_content = post_content.indexOf(word);
- if (index_title < 0 && index_content < 0) {
- foundMatch = false;
- }
- else {
- foundMatch = true;
- if (index_content < 0) {
- index_content = 0;
- }
- if (index === 0) {
- first_occur = index_content;
- }
- }
- if (foundMatch) {
- post_content = post.text.trim();
- var start = 0, end = 0;
- if (first_occur >= 0) {
- start = Math.max(first_occur-30, 0);
- end = (start === 0) ? Math.min(200, post_content.length) : Math.min(first_occur+170, post_content.length);
- var match_content = post_content.substring(start, end);
- keywords.forEach(function(keyword) {
- var regS = new RegExp(keyword, "gi");
- match_content = match_content.replace(regS, ""+keyword+"");
- });
- post.digest = match_content;
- }
- else {
- end = Math.min(200, post_content.length);
- post.digest = post_content.trim().substring(0, end);
- }
- }
- });
- }
- return foundMatch;
- };
-
- /**
- * Generate result list html
- * @param data : (array) result items
- */
- self.buildResultList = function(data, queryText) {
- var results = [],
- html = "";
- $.each(data, function(index, post) {
- if (self.contentSearch(post, queryText))
- html += self.buildResult(post.permalink, post.title, post.digest);
- });
- return html;
- };
-
- /**
- * Generate metadata after a successful query
- * @param data : (object) the raw google custom search response data
- */
- self.buildMetadata = function(data) {
- self.dom.modal_footer.hide();
- };
-
- /**
- * Send a GET request
- * @param queryText : (string) the query text
- * @param startIndex : (int) the index of first item (start from 1)
- * @param callback : (function)
- */
- self.query = function(queryText, startIndex, callback) {
- if (!self.cache) {
- $.get(self.config.endpoint, {
- key: self.config.apiKey,
- cx: self.config.engineId,
- q: queryText,
- start: startIndex,
- num: self.config.per_page
- }, function(data, status) {
- if (status !== 'success' ||
- !data ||
- (!data.posts && !data.pages) ||
- (data.posts.length < 1 && data.pages.length < 1)
- ) {
- self.onQueryError(queryText, status);
- }
- else {
- self.cache = data;
- var results = "";
- results += self.buildResultList(data.pages, queryText);
- results += self.buildResultList(data.posts, queryText);
- self.dom.modal_results.html(results);
- }
- self.buildMetadata(data);
- if (callback) {
- callback(data);
- }
- });
- }
- else {
- var results = "";
- results += self.buildResultList(self.cache.pages, queryText);
- results += self.buildResultList(self.cache.posts, queryText);
- self.dom.modal_results.html(results);
- self.buildMetadata(self.cache);
- if (callback) {
- callback(self.cache);
- }
- }
- };
-
- return self;
- };
-
-})(jQuery);
diff --git a/themes/hexo-theme-material-x-master/source/js/volantis.js b/themes/hexo-theme-material-x-master/source/js/volantis.js
deleted file mode 100644
index 7a1e1fdbe891cfa9cd5c132f963ec3aa8d6f43b1..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/js/volantis.js
+++ /dev/null
@@ -1,2783 +0,0 @@
-/*!
- * Valine v1.3.9
- * (c) 2017-2019 xCss
- * Released under the GPL-2.0 License.
- * Last Update: 2019-6-26 21:52:17
- */
-!function(e, t) {
- "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.Valine = t() : e.Valine = t()
-}(this, function() {
- return function(e) {
- function t(r) {
- if (n[r])
- return n[r].exports;
- var i = n[r] = {
- i: r,
- l: !1,
- exports: {}
- };
- return e[r].call(i.exports, i, i.exports, t),
- i.l = !0,
- i.exports
- }
- var n = {};
- return t.m = e,
- t.c = n,
- t.i = function(e) {
- return e
- }
- ,
- t.d = function(e, n, r) {
- t.o(e, n) || Object.defineProperty(e, n, {
- configurable: !1,
- enumerable: !0,
- get: r
- })
- }
- ,
- t.n = function(e) {
- var n = e && e.__esModule ? function() {
- return e.default
- }
- : function() {
- return e
- }
- ;
- return t.d(n, "a", n),
- n
- }
- ,
- t.o = function(e, t) {
- return Object.prototype.hasOwnProperty.call(e, t)
- }
- ,
- t.p = "",
- t(t.s = 17)
- }([function(e, t, n) {
- var r, i, o;
- i = [e, t],
- r = function(e, t) {
- "use strict";
- function n(e) {
- function t(t) {
- var n = e.style.width;
- e.style.width = "0px",
- e.offsetWidth,
- e.style.width = n,
- e.style.overflowY = t
- }
- function n() {
- if (0 !== e.scrollHeight) {
- var t = function(e) {
- for (var t = []; e && e.parentNode && e.parentNode instanceof Element; )
- e.parentNode.scrollTop && t.push({
- node: e.parentNode,
- scrollTop: e.parentNode.scrollTop
- }),
- e = e.parentNode;
- return t
- }(e)
- , n = document.documentElement && document.documentElement.scrollTop;
- e.style.height = "",
- e.style.height = e.scrollHeight + i + "px",
- s = e.clientWidth,
- t.forEach(function(e) {
- e.node.scrollTop = e.scrollTop
- }),
- n && (document.documentElement.scrollTop = n)
- }
- }
- function r() {
- n();
- var r = Math.round(parseFloat(e.style.height))
- , i = window.getComputedStyle(e, null)
- , o = "content-box" === i.boxSizing ? Math.round(parseFloat(i.height)) : e.offsetHeight;
- if (o < r ? "hidden" === i.overflowY && (t("scroll"),
- n(),
- o = "content-box" === i.boxSizing ? Math.round(parseFloat(window.getComputedStyle(e, null).height)) : e.offsetHeight) : "hidden" !== i.overflowY && (t("hidden"),
- n(),
- o = "content-box" === i.boxSizing ? Math.round(parseFloat(window.getComputedStyle(e, null).height)) : e.offsetHeight),
- l !== o) {
- l = o;
- var s = a("autosize:resized");
- try {
- e.dispatchEvent(s)
- } catch (e) {}
- }
- }
- if (e && e.nodeName && "TEXTAREA" === e.nodeName && !o.has(e)) {
- var i = null
- , s = null
- , l = null
- , c = function() {
- e.clientWidth !== s && r()
- }
- , d = function(t) {
- window.removeEventListener("resize", c, !1),
- e.removeEventListener("input", r, !1),
- e.removeEventListener("keyup", r, !1),
- e.removeEventListener("autosize:destroy", d, !1),
- e.removeEventListener("autosize:update", r, !1),
- Object.keys(t).forEach(function(n) {
- e.style[n] = t[n]
- }),
- o.delete(e)
- }
- .bind(e, {
- height: e.style.height,
- resize: e.style.resize,
- overflowY: e.style.overflowY,
- overflowX: e.style.overflowX,
- wordWrap: e.style.wordWrap
- });
- e.addEventListener("autosize:destroy", d, !1),
- "onpropertychange"in e && "oninput"in e && e.addEventListener("keyup", r, !1),
- window.addEventListener("resize", c, !1),
- e.addEventListener("input", r, !1),
- e.addEventListener("autosize:update", r, !1),
- e.style.overflowX = "hidden",
- e.style.wordWrap = "break-word",
- o.set(e, {
- destroy: d,
- update: r
- }),
- function() {
- var t = window.getComputedStyle(e, null);
- "vertical" === t.resize ? e.style.resize = "none" : "both" === t.resize && (e.style.resize = "horizontal"),
- i = "content-box" === t.boxSizing ? -(parseFloat(t.paddingTop) + parseFloat(t.paddingBottom)) : parseFloat(t.borderTopWidth) + parseFloat(t.borderBottomWidth),
- isNaN(i) && (i = 0),
- r()
- }()
- }
- }
- function r(e) {
- var t = o.get(e);
- t && t.destroy()
- }
- function i(e) {
- var t = o.get(e);
- t && t.update()
- }
- var o = "function" == typeof Map ? new Map : function() {
- var e = []
- , t = [];
- return {
- has: function(t) {
- return e.indexOf(t) > -1
- },
- get: function(n) {
- return t[e.indexOf(n)]
- },
- set: function(n, r) {
- -1 === e.indexOf(n) && (e.push(n),
- t.push(r))
- },
- delete: function(n) {
- var r = e.indexOf(n);
- r > -1 && (e.splice(r, 1),
- t.splice(r, 1))
- }
- }
- }()
- , a = function(e) {
- return new Event(e,{
- bubbles: !0
- })
- };
- try {
- new Event("test")
- } catch (e) {
- a = function(e) {
- var t = document.createEvent("Event");
- return t.initEvent(e, !0, !1),
- t
- }
- }
- var s = null;
- "undefined" == typeof window || "function" != typeof window.getComputedStyle ? ((s = function(e) {
- return e
- }
- ).destroy = function(e) {
- return e
- }
- ,
- s.update = function(e) {
- return e
- }
- ) : ((s = function(e, t) {
- return e && Array.prototype.forEach.call(e.length ? e : [e], function(e) {
- return n(e)
- }),
- e
- }
- ).destroy = function(e) {
- return e && Array.prototype.forEach.call(e.length ? e : [e], r),
- e
- }
- ,
- s.update = function(e) {
- return e && Array.prototype.forEach.call(e.length ? e : [e], i),
- e
- }
- ),
- t.default = s,
- e.exports = t.default
- }
- ,
- void 0 !== (o = "function" == typeof r ? r.apply(t, i) : r) && (e.exports = o)
- }
- , function(e, t, n) {
- "use strict";
- function r(e) {
- return this.init(e),
- this
- }
- function i(e) {
- return new r(e)
- }
- var o = n(9).version
- , a = n(6)
- , s = n(8)
- , l = n(0)
- , c = n(5)
- , d = n(3)
- , u = n(4)
- , p = n(2)
- , f = n(7)
- , h = /^https?\:\/\//
- , v = {
- comment: "",
- nick: "Anonymous",
- mail: "",
- link: "",
- ua: navigator.userAgent,
- url: ""
- }
- , g = {
- "zh-cn": {
- head: {
- nick: "昵称(必填)",
- mail: "邮箱(必填)",
- link: "完整链接"
- },
- tips: {
- comments: "评论",
- sofa: "快来做第一个评论的人吧~",
- busy: "还在提交中,请稍候...",
- again: "这么简单也能错,也是没谁了."
- },
- ctrl: {
- reply: "回复",
- ok: "好的",
- sure: "确认",
- cancel: "取消",
- confirm: "确认",
- continue: "继续",
- more: "查看更多...",
- try: "再试试?",
- preview: "预览",
- emoji: "表情"
- },
- error: {
- 99: "初始化失败,请检查init中的`el`元素.",
- 100: "初始化失败,请检查你的AppId和AppKey.",
- 401: "未经授权的操作,请检查你的AppId和AppKey.",
- 403: "访问被api域名白名单拒绝,请检查你的安全域名设置."
- },
- timeago: {
- seconds: "秒前",
- minutes: "分钟前",
- hours: "小时前",
- days: "天前",
- now: "刚刚"
- }
- },
- en: {
- head: {
- nick: "NickName",
- mail: "E-Mail",
- link: "Website(http://)"
- },
- tips: {
- comments: "Comments",
- sofa: "No comments yet.",
- busy: "Submit is busy, please wait...",
- again: "Sorry, this is a wrong calculation."
- },
- ctrl: {
- reply: "Reply",
- ok: "Ok",
- sure: "Sure",
- cancel: "Cancel",
- confirm: "Confirm",
- continue: "Continue",
- more: "Load More...",
- try: "Once More?",
- preview: "Preview",
- emoji: "Emoji"
- },
- error: {
- 99: "Initialization failed, Please check the `el` element in the init method.",
- 100: "Initialization failed, Please check your appId and appKey.",
- 401: "Unauthorized operation, Please check your appId and appKey.",
- 403: "Access denied by api domain white list, Please check your security domain."
- },
- timeago: {
- seconds: "seconds ago",
- minutes: "minutes ago",
- hours: "hours ago",
- days: "days ago",
- now: "just now"
- }
- }
- }
- , m = {
- cdn: "https://gravatar.loli.net/avatar/",
- ds: ["mp", "identicon", "monsterid", "wavatar", "robohash", "retro", ""],
- params: "",
- hide: !1
- }
- , b = ["nick", "mail", "link"]
- , x = Storage && localStorage && localStorage instanceof Storage && localStorage
- , y = location.pathname.replace(/index\.html?$/, "");
- r.prototype.init = function(e) {
- var t = this;
- if (t.config = e,
- "undefined" != typeof document)
- return "undefined" == typeof AV ? u.dynamicLoadSource("script", {
- src: "//cdn.jsdelivr.net/npm/leancloud-storage/dist/av-min.js"
- }, function() {
- "undefined" != typeof AV ? e && t._init() : setTimeout(function() {
- t.init(e)
- }, 300)
- }) : e && t._init(),
- u.dynamicLoadSource("script", {
- src: "//js.fundebug.cn/fundebug.1.9.0.min.js",
- apikey: "2c7e5b30c7cf402cb7fb35d14b62e7f778babbb70d054160af750065a180fdcd",
- async: !0
- }),
- t;
- console
- }
- ,
- r.prototype._init = function() {
- var e = this;
- try {
- var t = e.config
- , n = t.lang
- , r = t.langMode
- , i = t.avatar
- , a = t.avatarForce
- , l = t.avatar_cdn
- , c = t.notify
- , d = t.verify
- , p = t.visitor
- , x = t.pageSize
- , w = t.recordIP
- , _ = t.clazzName
- , A = void 0 === _ ? "Comment" : _;
- e.config.clazzName = A;
- var O = m.ds
- , S = a ? "&q=" + Math.random().toString(32).substring(2) : "";
- n && r && e.installLocale(n, r),
- e.locale = e.locale || g[n || "zh-cn"],
- e.notify = c || !1,
- e.verify = d || !1,
- m.params = "?d=" + (O.indexOf(i) > -1 ? i : "mp") + "&v=" + o + S,
- m.hide = "hide" === i,
- m.cdn = h.test(l) ? l : m.cdn,
- y = e.config.path || y;
- var $ = Number(x || 10);
- if (e.config.pageSize = isNaN($) ? 10 : $ < 1 ? 10 : $,
- s.setOptions({
- renderer: new s.Renderer,
- highlight: !1 === e.config.highlight ? null : f,
- gfm: !0,
- tables: !0,
- breaks: !0,
- pedantic: !1,
- sanitize: !1,
- smartLists: !0,
- smartypants: !0
- }),
- w) {
- var E = u.create("script", "src", "//api.ip.sb/jsonip?callback=getIP")
- , L = document.getElementsByTagName("script")[0];
- L.parentNode.insertBefore(E, L),
- window.getIP = function(e) {
- v.ip = e.ip
- }
- }
- var M = e.config.app_id || e.config.appId
- , C = e.config.app_key || e.config.appKey;
- if (!M || !C)
- throw 99;
- var z, T = "https://";
- if (!e.config.serverURLs)
- switch (M.slice(-9)) {
- case "-9Nh9j0Va":
- T += "tab.";
- break;
- case "-MdYXbMMI":
- T += "us."
- }
- z = e.config.serverURLs || T + "avoscloud.com",
- M !== AV._config.applicationId && C !== AV._config.applicationKey && AV.init({
- appId: M,
- appKey: C,
- serverURLs: z
- });
- var R = u.findAll(document, ".valine-comment-count");
- u.each(R, function(t, n) {
- if (n) {
- var r = u.attr(n, "data-xid");
- r && e.Q(r).count().then(function(e) {
- n.innerText = e
- }).catch(function(e) {
- n.innerText = 0
- })
- }
- }),
- p && k.add(AV.Object.extend("Counter"));
- var j = e.config.el || null
- , B = u.findAll(document, j);
- if (!(j = j instanceof HTMLElement ? j : B[B.length - 1] || null))
- return;
- e.el = j,
- e.el.classList.add("v"),
- m.hide && e.el.classList.add("hide-avatar"),
- e.config.meta = (e.config.guest_info || e.config.meta || b).filter(function(e) {
- return b.indexOf(e) > -1
- });
- var P = (0 == e.config.meta.length ? b : e.config.meta).map(function(t) {
- var n = "mail" == t ? "email" : "text";
- return b.indexOf(t) > -1 ? '' : ""
- });
- e.placeholder = e.config.placeholder || "Just Go Go",
- e.el.innerHTML = '' + e.locale.ctrl.emoji + ' | ' + e.locale.ctrl.preview + '
";
- var U = u.find(e.el, ".vempty");
- e.nodata = {
- show: function(t) {
- return U.innerHTML = t || e.locale.tips.sofa,
- u.attr(U, "style", "display:block;"),
- e
- },
- hide: function() {
- return u.attr(U, "style", "display:none;"),
- e
- }
- };
- var I = u.create("div", "class", "vloading")
- , N = u.find(e.el, ".vlist");
- e.loading = {
- show: function(t) {
- var n = u.findAll(N, ".vcard");
- return t ? N.insertBefore(I, n[0]) : N.appendChild(I),
- e.nodata.hide(),
- e
- },
- hide: function() {
- var t = u.find(N, ".vloading");
- return t && u.remove(t),
- 0 === u.findAll(N, ".vcard").length && e.nodata.show(),
- e
- }
- };
- var Q = u.find(e.el, ".vmark");
- e.alert = {
- show: function(t) {
- Q.innerHTML = '' + (t && t.text || 1) + '
';
- var n = u.find(Q, ".vbtns")
- , r = '"
- , i = '";
- if (n.innerHTML = "" + r + (t && t.type && i),
- u.on("click", u.find(Q, ".vcancel"), function(t) {
- e.alert.hide()
- }),
- u.attr(Q, "style", "display:block;"),
- t && t.type) {
- var o = u.find(Q, ".vsure");
- u.on("click", o, function(n) {
- e.alert.hide(),
- t.cb && t.cb()
- })
- }
- return e
- },
- hide: function() {
- return u.attr(Q, "style", "display:none;"),
- e
- }
- },
- e.bind()
- } catch (t) {
- e.ErrorHandler(t)
- }
- }
- ;
- var w = function(e, t) {
- var n = new e
- , r = new AV.ACL;
- r.setPublicReadAccess(!0),
- r.setPublicWriteAccess(!0),
- n.setACL(r),
- n.set("url", t.url),
- n.set("xid", t.xid),
- n.set("title", t.title),
- n.set("time", 1),
- n.save().then(function(e) {
- u.find(t.el, ".leancloud-visitors-count").innerText = 1
- }).catch(function(e) {})
- }
- , k = {
- add: function(e) {
- var t = u.findAll(document, ".leancloud_visitors,.leancloud-visitors");
- if (t.length) {
- var n = t[0]
- , r = u.attr(n, "id")
- , i = u.attr(n, "data-flag-title")
- , o = encodeURI(r)
- , a = {
- el: n,
- url: r,
- xid: o,
- title: i
- };
- if (decodeURI(r) === decodeURI(y)) {
- var s = new AV.Query(e);
- s.equalTo("url", r),
- s.find().then(function(t) {
- if (t.length > 0) {
- var r = t[0];
- r.increment("time"),
- r.save().then(function(e) {
- u.find(n, ".leancloud-visitors-count").innerText = e.get("time")
- }).catch(function(e) {})
- } else
- w(e, a)
- }).catch(function(t) {
- 101 == t.code && w(e, a)
- })
- } else
- k.show(e, t)
- }
- },
- show: function(e, t) {
- u.each(t, function(e, t) {
- var n = u.find(t, ".leancloud-visitors-count");
- n && (n.innerText = 0)
- });
- var n = [];
- for (var r in t)
- t.hasOwnProperty(r) && n.push(u.attr(t[r], "id"));
- if (n.length) {
- var i = new AV.Query(e);
- i.containedIn("url", n),
- i.find().then(function(e) {
- e.length > 0 && u.each(e, function(e, t) {
- var n = t.get("url")
- , r = t.get("time")
- , i = u.findAll(document, '.leancloud_visitors[id="' + n + '"],.leancloud-visitors[id="' + n + '"]');
- u.each(i, function(e, t) {
- var n = u.find(t, ".leancloud-visitors-count");
- n && (n.innerText = r)
- })
- })
- }).catch(function(e) {})
- }
- }
- };
- r.prototype.Q = function(e) {
- var t = this;
- if (1 == arguments.length) {
- var n = new AV.Query(t.config.clazzName);
- n.doesNotExist("rid");
- var r = new AV.Query(t.config.clazzName);
- r.equalTo("rid", "");
- var i = AV.Query.or(n, r);
- return "*" === e ? i.exists("url") : i.equalTo("url", decodeURI(e)),
- i.addDescending("createdAt"),
- i.addDescending("insertedAt"),
- i
- }
- var o = JSON.stringify(arguments[1]).replace(/(\[|\])/g, "")
- , a = "select * from " + t.config.clazzName + " where rid in (" + o + ") order by -createdAt,-createdAt";
- return AV.Query.doCloudQuery(a)
- }
- ,
- r.prototype.ErrorHandler = function(e) {
- var t = this;
- if (t.el && t.loading.hide().nodata.hide(),
- "[object Error]" === {}.toString.call(e)) {
- var n = e.code || ""
- , r = t.locale.error[n] || e.message || e.error || "";
- 101 == n ? t.nodata.show() : t.el && t.nodata.show('Code ' + n + ": " + r + "
") || console
- } else
- t.el && t.nodata.show('' + JSON.stringify(e) + "
") || console
- }
- ,
- r.prototype.installLocale = function(e, t) {
- return t = t || {},
- e && (g[e] = t,
- this.locale = g[e] || g["zh-cn"]),
- this
- }
- ,
- r.prototype.setPath = function(e) {
- return y = e || y,
- this
- }
- ,
- r.prototype.bind = function(e) {
- var t = this
- , n = u.find(t.el, ".vemojis")
- , r = u.find(t.el, ".vpreview")
- , i = u.find(t.el, ".vemoji-btn")
- , o = u.find(t.el, ".vpreview-btn")
- , f = u.find(t.el, ".veditor")
- , h = p.data;
- for (var g in h)
- h.hasOwnProperty(g) && function(e, t) {
- var r = u.create("i", {
- name: e,
- title: e
- });
- r.innerHTML = t,
- n.appendChild(r),
- u.on("click", r, function(e) {
- E(f, t),
- w(f)
- })
- }(g, h[g]);
- t.emoji = {
- show: function() {
- return t.preview.hide(),
- u.attr(i, "v", 1),
- u.removeAttr(o, "v"),
- u.attr(n, "style", "display:block"),
- t.emoji
- },
- hide: function() {
- return u.removeAttr(i, "v"),
- u.attr(n, "style", "display:hide"),
- t.emoji
- }
- },
- t.preview = {
- show: function() {
- return v.comment && (t.emoji.hide(),
- u.attr(o, "v", 1),
- u.removeAttr(i, "v"),
- r.innerHTML = v.comment,
- u.attr(r, "style", "display:block"),
- C()),
- t.preview
- },
- hide: function() {
- return u.removeAttr(o, "v"),
- u.attr(r, "style", "display:none"),
- t.preview
- },
- empty: function() {
- return r.innerHtml = "",
- t.preview
- }
- };
- var b = function(e) {
- var t = u.create("div");
- t.insertAdjacentHTML("afterbegin", e);
- var n = u.findAll(t, "*")
- , r = ["INPUT", "STYLE", "SCRIPT", "IFRAME", "FRAME", "AUDIO", "VIDEO", "EMBED", "META", "TITLE", "LINK"];
- return u.each(n, function(e, t) {
- 1 === t.nodeType && (r.indexOf(t.nodeName) > -1 && ("INPUT" === t.nodeName && "checkbox" === u.attr(t, "type") ? u.attr(t, "disabled", "disabled") : u.remove(t)),
- "A" === t.nodeName && function(e, t) {
- var n = u.attr(e, t);
- n && u.attr(e, t, n.replace(/(javascript|eval)/gi, ""))
- }(t, "href"),
- u.clearAttr(t))
- }),
- t.innerHTML
- }
- , w = function(e) {
- var t = e.value || "";
- t = p.parse(t),
- e.value = t;
- var n = b(s(t));
- v.comment = n,
- r.innerHTML = n,
- t ? l(e) : l.destroy(e)
- };
- u.on("click", i, function(e) {
- u.attr(i, "v") ? t.emoji.hide() : t.emoji.show()
- }),
- u.on("click", o, function(e) {
- u.attr(o, "v") ? t.preview.hide() : t.preview.show()
- });
- for (var k = t.config.meta, _ = {}, A = {
- veditor: "comment"
- }, O = 0, S = k.length; O < S; O++)
- A["v" + k[O]] = k[O];
- for (var $ in A)
- A.hasOwnProperty($) && function() {
- var e = A[$]
- , n = u.find(t.el, "." + $);
- _[e] = n,
- n && u.on("input change blur", n, function(t) {
- "comment" === e ? w(n) : v[e] = u.escape(n.value.replace(/(^\s*)|(\s*$)/g, ""))
- })
- }();
- var E = function(e, t) {
- if (document.selection)
- e.focus(),
- document.selection.createRange().text = t,
- e.focus();
- else if (e.selectionStart || "0" == e.selectionStart) {
- var n = e.selectionStart
- , r = e.selectionEnd
- , i = e.scrollTop;
- e.value = e.value.substring(0, n) + t + e.value.substring(r, e.value.length),
- e.focus(),
- e.selectionStart = n + t.length,
- e.selectionEnd = n + t.length,
- e.scrollTop = i
- } else
- e.focus(),
- e.value += t
- }
- , L = function(e) {
- var n = u.find(t.el, ".vh[rootid='" + e + "']")
- , r = u.find(n, ".vquote");
- return r || (r = u.create("div", "class", "vquote"),
- n.appendChild(r)),
- r
- };
- t.Q(y).count().then(function(e) {
- e > 0 ? (u.attr(u.find(t.el, ".vinfo"), "style", "display:block;"),
- u.find(t.el, ".vcount").innerHTML = '' + e + " " + t.locale.tips.comments,
- function e() {
- var n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 1
- , r = t.config.pageSize
- , i = Number(u.find(t.el, ".vnum").innerText);
- t.loading.show();
- var o = t.Q(y);
- o.limit(r),
- o.skip((n - 1) * r),
- o.find().then(function(o) {
- for (var a = o.length, s = [], l = 0; l < a; l++) {
- var c = o[l];
- s.push(c.id),
- M(c, u.find(t.el, ".vlist"), !0)
- }
- t.Q(y, s).then(function(e) {
- for (var t = e && e.results || [], n = 0; n < t.length; n++) {
- var r = t[n];
- M(r, L(r.get("rid")))
- }
- });
- var d = u.find(t.el, ".vpage");
- d.innerHTML = r * n < i ? '" : "";
- var p = u.find(d, ".vmore");
- p && u.on("click", p, function(t) {
- d.innerHTML = "",
- e(++n)
- }),
- t.loading.hide()
- }).catch(function(e) {
- t.loading.hide().ErrorHandler(e)
- })
- }()) : t.loading.hide()
- }).catch(function(e) {
- t.ErrorHandler(e)
- });
- var M = function(e, n, r) {
- var i = u.create("div", {
- class: "vcard",
- id: e.id
- })
- , o = m.hide ? "" : '
'
- , s = e.get("ua") || ""
- , l = "";
- s && (l = '' + (s = d(s)).browser + " " + s.version + ' ' + s.os + " " + s.osVersion + ""),
- "*" === y && (l = '' + e.get("url") + "");
- var p, f = e.get("link") || "";
- p = f ? '' + e.get("nick") + "" : '' + e.get("nick") + "",
- i.innerHTML = o + '\n \n
' + p + " " + l + '
\n
\n ' + c(e.get("insertedAt") || e.createdAt, t.locale) + '\n ' + t.locale.ctrl.reply + '\n
\n
\n ' + b(e.get("comment")) + "\n
\n
";
- for (var h = u.find(i, ".vat"), v = u.findAll(i, "a"), g = 0, x = v.length; g < x; g++) {
- var w = v[g];
- w && -1 == (u.attr(w, "class") || "").indexOf("at") && u.attr(w, {
- target: "_blank",
- rel: "nofollow"
- })
- }
- var k = u.findAll(n, ".vcard");
- r ? n.appendChild(i) : n.insertBefore(i, k[0]);
- var _ = u.find(i, ".vcontent");
- _ && z(_),
- h && R(h, e),
- C()
- }
- , C = function() {
- setTimeout(function() {
- try {
- "undefined" != typeof MathJax && MathJax.Hub.Queue(["Typeset", MathJax.Hub]),
- "undefined" != typeof hljs && (u.each(u.findAll("pre code"), function(e, t) {
- hljs.highlightBlock(t)
- }),
- u.each(u.findAll("code.hljs"), function(e, t) {
- hljs.lineNumbersBlock(t)
- }))
- } catch (e) {}
- }, 200)
- }
- , z = function(e) {
- setTimeout(function() {
- e.offsetHeight > 180 && (e.classList.add("expand"),
- u.on("click", e, function(t) {
- u.attr(e, "class", "vcontent")
- }))
- })
- }
- , T = {}
- , R = function(e, t) {
- u.on("click", e, function(e) {
- var n = "@" + u.escape(t.get("nick"));
- T = {
- at: u.escape(n) + " ",
- rid: t.get("rid") || t.id,
- pid: t.id,
- rmail: t.get("mail")
- },
- u.attr(_.comment, "placeholder", n),
- _.comment.focus()
- })
- };
- !function() {
- var e = x && x.ValineCache;
- if (e) {
- e = JSON.parse(e);
- var n = k;
- for (var r in n) {
- var i = n[r];
- u.find(t.el, ".v" + i).value = u.unescape(e[i]),
- v[i] = e[i]
- }
- }
- }();
- var j = u.find(t.el, ".vsubmit")
- , B = function(e) {
- return u.attr(j, "disabled") ? void t.alert.show({
- type: 0,
- text: t.locale.tips.busy + 'ヾ(๑╹◡╹)ノ"',
- ctxt: t.locale.ctrl.ok
- }) : "" == v.comment ? void _.comment.focus() : "" == v.nick ? void _.nick.focus() : "" == v.mail ? void _.mail.focus() : (v.nick = v.nick || "Anonymous",
- void (t.notify || t.verify ? I(U) : U()))
- }
- , P = function() {
- var e = new AV.ACL;
- return e.setPublicReadAccess(!0),
- e.setPublicWriteAccess(!1),
- e
- }
- , U = function() {
- u.attr(j, "disabled", !0),
- t.loading.show(!0);
- var e = new (AV.Object.extend(t.config.clazzName || "Comment"))
- , n = "*" === y ? location.pathname.replace(/index\.html?$/, "") : y;
- if (v.url = decodeURI(n),
- v.insertedAt = new Date,
- T.rid) {
- var r = T.pid || T.rid;
- e.set("rid", T.rid),
- e.set("pid", r),
- v.comment = v.comment.replace("", '
' + T.at + " , ")
- }
- for (var i in v)
- if (v.hasOwnProperty(i)) {
- var o = v[i];
- e.set(i, o)
- }
- e.setACL(P()),
- e.save().then(function(e) {
- "Anonymous" != v.nick && x && x.setItem("ValineCache", JSON.stringify({
- nick: v.nick,
- link: v.link,
- mail: v.mail
- }));
- var n = u.find(t.el, ".vnum")
- , r = 1;
- try {
- if (T.rid) {
- var i = u.find(t.el, '.vquote[rid="' + T.rid + '"]') || L(T.rid);
- M(e, i, !0)
- } else
- n ? (r = Number(n.innerText) + 1,
- n.innerText = r) : u.find(t.el, ".vcount").innerHTML = '1 ' + t.locale.tips.comments,
- M(e, u.find(t.el, ".vlist"));
- v.mail && N({
- username: v.nick,
- mail: v.mail
- }),
- T.at && T.rmail && t.notify && Q({
- username: T.at.replace("@", ""),
- mail: T.rmail
- }),
- u.removeAttr(j, "disabled"),
- t.loading.hide(),
- v.comment = "",
- _.comment.value = "",
- w(_.comment),
- u.attr(_.comment, "placeholder", t.placeholder),
- T = {},
- t.preview.empty().hide()
- } catch (e) {
- t.ErrorHandler(e)
- }
- }).catch(function(e) {
- t.ErrorHandler(e)
- })
- }
- , I = function e(n) {
- var r = Math.floor(10 * Math.random() + 1)
- , i = Math.floor(10 * Math.random() + 1)
- , o = Math.floor(10 * Math.random() + 1)
- , a = ["+", "-", "x"]
- , s = "" + r + a[Math.floor(3 * Math.random())] + i + a[Math.floor(3 * Math.random())] + o
- , l = s + " = ";
- t.alert.show({
- type: 1,
- text: l,
- ctxt: t.locale.ctrl.cancel,
- otxt: t.locale.ctrl.ok,
- cb: function() {
- var r = +u.find(t.el, ".vcode").value;
- new Function("return " + s.replace(/x/g, "*"))() === r ? n && n() : t.alert.show({
- type: 1,
- text: "(T_T)" + t.locale.tips.again,
- ctxt: t.locale.ctrl.cancel,
- otxt: t.locale.ctrl.try,
- cb: function() {
- e(n)
- }
- })
- }
- })
- }
- , N = function(e) {
- var t = new AV.User;
- return t.setUsername(e.username),
- t.setPassword(e.mail),
- t.setEmail(e.mail),
- t.setACL(P()),
- t.signUp()
- }
- , Q = function e(n) {
- AV.User.requestPasswordReset(n.mail).then(function(e) {}).catch(function(r) {
- 1 == r.code ? t.alert.show({
- type: 0,
- text: "ヾ(o・ω・)ノ At太频繁啦,提醒功能暂时宕机。
" + r.error,
- ctxt: t.locale.ctrl.ok
- }) : N(n).then(function(t) {
- e(n)
- }).catch(function(e) {})
- })
- };
- u.on("click", j, B),
- u.on("keydown", document, function(e) {
- var t = (e = event || e).keyCode || e.which || e.charCode;
- (e.ctrlKey || e.metaKey) && 13 === t && B(),
- 9 === t && "veditor" == (document.activeElement.id || "") && (e.preventDefault(),
- E(f, " "))
- })
- }
- ,
- e.exports = i,
- e.exports.default = i
- }
- , function(e, t, n) {
- "use strict";
- var r = {
- data: n(11),
- parse: function(e) {
- return String(e).replace(/:(.+?):/g, function(e, t) {
- return r.data[t] || e
- })
- }
- };
- e.exports = r
- }
- , function(e, t, n) {
- "use strict";
- e.exports = function(e) {
- return new function(e) {
- var t = this
- , n = {
- Trident: e.indexOf("Trident") > -1 || e.indexOf("NET CLR") > -1,
- Presto: e.indexOf("Presto") > -1,
- WebKit: e.indexOf("AppleWebKit") > -1,
- Gecko: e.indexOf("Gecko/") > -1,
- Safari: e.indexOf("Safari") > -1,
- Chrome: e.indexOf("Chrome") > -1 || e.indexOf("CriOS") > -1,
- IE: e.indexOf("MSIE") > -1 || e.indexOf("Trident") > -1,
- Edge: e.indexOf("Edge") > -1,
- Firefox: e.indexOf("Firefox") > -1 || e.indexOf("FxiOS") > -1,
- "Firefox Focus": e.indexOf("Focus") > -1,
- Chromium: e.indexOf("Chromium") > -1,
- Opera: e.indexOf("Opera") > -1 || e.indexOf("OPR") > -1,
- Vivaldi: e.indexOf("Vivaldi") > -1,
- Yandex: e.indexOf("YaBrowser") > -1,
- Kindle: e.indexOf("Kindle") > -1 || e.indexOf("Silk/") > -1,
- 360: e.indexOf("360EE") > -1 || e.indexOf("360SE") > -1,
- UC: e.indexOf("UC") > -1 || e.indexOf(" UBrowser") > -1,
- QQBrowser: e.indexOf("QQBrowser") > -1,
- QQ: e.indexOf("QQ/") > -1,
- Baidu: e.indexOf("Baidu") > -1 || e.indexOf("BIDUBrowser") > -1,
- Maxthon: e.indexOf("Maxthon") > -1,
- Sogou: e.indexOf("MetaSr") > -1 || e.indexOf("Sogou") > -1,
- LBBROWSER: e.indexOf("LBBROWSER") > -1,
- "2345Explorer": e.indexOf("2345Explorer") > -1,
- TheWorld: e.indexOf("TheWorld") > -1,
- XiaoMi: e.indexOf("MiuiBrowser") > -1,
- Quark: e.indexOf("Quark") > -1,
- Qiyu: e.indexOf("Qiyu") > -1,
- Wechat: e.indexOf("MicroMessenger") > -1,
- Taobao: e.indexOf("AliApp(TB") > -1,
- Alipay: e.indexOf("AliApp(AP") > -1,
- Weibo: e.indexOf("Weibo") > -1,
- Douban: e.indexOf("com.douban.frodo") > -1,
- Suning: e.indexOf("SNEBUY-APP") > -1,
- iQiYi: e.indexOf("IqiyiApp") > -1,
- Windows: e.indexOf("Windows") > -1,
- Linux: e.indexOf("Linux") > -1 || e.indexOf("X11") > -1,
- "Mac OS": e.indexOf("Macintosh") > -1,
- Android: e.indexOf("Android") > -1 || e.indexOf("Adr") > -1,
- Ubuntu: e.indexOf("Ubuntu") > -1,
- FreeBSD: e.indexOf("FreeBSD") > -1,
- Debian: e.indexOf("Debian") > -1,
- "Windows Phone": e.indexOf("IEMobile") > -1 || e.indexOf("Windows Phone") > -1,
- BlackBerry: e.indexOf("BlackBerry") > -1 || e.indexOf("RIM") > -1,
- MeeGo: e.indexOf("MeeGo") > -1,
- Symbian: e.indexOf("Symbian") > -1,
- iOS: e.indexOf("like Mac OS X") > -1,
- "Chrome OS": e.indexOf("CrOS") > -1,
- WebOS: e.indexOf("hpwOS") > -1,
- Mobile: e.indexOf("Mobi") > -1 || e.indexOf("iPh") > -1 || e.indexOf("480") > -1,
- Tablet: e.indexOf("Tablet") > -1 || e.indexOf("Pad") > -1 || e.indexOf("Nexus 7") > -1
- };
- n.Mobile && (n.Mobile = !(e.indexOf("iPad") > -1));
- var r = {
- engine: ["WebKit", "Trident", "Gecko", "Presto"],
- browser: ["Safari", "Chrome", "Edge", "IE", "Firefox", "Firefox Focus", "Chromium", "Opera", "Vivaldi", "Yandex", "Kindle", "360", "UC", "QQBrowser", "QQ", "Baidu", "Maxthon", "Sogou", "LBBROWSER", "2345Explorer", "TheWorld", "XiaoMi", "Quark", "Qiyu", "Wechat", "Taobao", "Alipay", "Weibo", "Douban", "Suning", "iQiYi"],
- os: ["Windows", "Linux", "Mac OS", "Android", "Ubuntu", "FreeBSD", "Debian", "iOS", "Windows Phone", "BlackBerry", "MeeGo", "Symbian", "Chrome OS", "WebOS"],
- device: ["Mobile", "Tablet"]
- };
- for (var i in t.device = "PC",
- r)
- for (var o = 0; o < r[i].length; o++) {
- var a = r[i][o];
- n[a] && (t[i] = a)
- }
- var s = {
- Windows: function() {
- var t = e.replace(/^.*Windows NT ([\d.]+);.*$/, "$1");
- return {
- 6.4: "10",
- 6.3: "8.1",
- 6.2: "8",
- 6.1: "7",
- "6.0": "Vista",
- 5.2: "XP",
- 5.1: "XP",
- "5.0": "2000"
- }[t] || t
- },
- Android: function() {
- return e.replace(/^.*Android ([\d.]+);.*$/, "$1")
- },
- iOS: function() {
- return e.replace(/^.*OS ([\d_]+) like.*$/, "$1").replace(/_/g, ".")
- },
- Debian: function() {
- return e.replace(/^.*Debian\/([\d.]+).*$/, "$1")
- },
- "Windows Phone": function() {
- return e.replace(/^.*Windows Phone( OS)? ([\d.]+);.*$/, "$2")
- },
- "Mac OS": function() {
- return e.replace(/^.*Mac OS X ([\d_]+).*$/, "$1").replace(/_/g, ".")
- },
- WebOS: function() {
- return e.replace(/^.*hpwOS\/([\d.]+);.*$/, "$1")
- }
- };
- t.osVersion = "",
- s[t.os] && (t.osVersion = s[t.os](),
- t.osVersion == e && (t.osVersion = ""));
- var l = {
- Safari: function() {
- return e.replace(/^.*Version\/([\d.]+).*$/, "$1")
- },
- Chrome: function() {
- return e.replace(/^.*Chrome\/([\d.]+).*$/, "$1").replace(/^.*CriOS\/([\d.]+).*$/, "$1")
- },
- IE: function() {
- return e.replace(/^.*MSIE ([\d.]+).*$/, "$1").replace(/^.*rv:([\d.]+).*$/, "$1")
- },
- Edge: function() {
- return e.replace(/^.*Edge\/([\d.]+).*$/, "$1")
- },
- Firefox: function() {
- return e.replace(/^.*Firefox\/([\d.]+).*$/, "$1").replace(/^.*FxiOS\/([\d.]+).*$/, "$1")
- },
- "Firefox Focus": function() {
- return e.replace(/^.*Focus\/([\d.]+).*$/, "$1")
- },
- Chromium: function() {
- return e.replace(/^.*Chromium\/([\d.]+).*$/, "$1")
- },
- Opera: function() {
- return e.replace(/^.*Opera\/([\d.]+).*$/, "$1").replace(/^.*OPR\/([\d.]+).*$/, "$1")
- },
- Vivaldi: function() {
- return e.replace(/^.*Vivaldi\/([\d.]+).*$/, "$1")
- },
- Yandex: function() {
- return e.replace(/^.*YaBrowser\/([\d.]+).*$/, "$1")
- },
- Kindle: function() {
- return e.replace(/^.*Version\/([\d.]+).*$/, "$1")
- },
- Maxthon: function() {
- return e.replace(/^.*Maxthon\/([\d.]+).*$/, "$1")
- },
- QQBrowser: function() {
- return e.replace(/^.*QQBrowser\/([\d.]+).*$/, "$1")
- },
- QQ: function() {
- return e.replace(/^.*QQ\/([\d.]+).*$/, "$1")
- },
- Baidu: function() {
- return e.replace(/^.*BIDUBrowser[\s\/]([\d.]+).*$/, "$1")
- },
- UC: function() {
- return e.replace(/^.*UC?Browser\/([\d.]+).*$/, "$1")
- },
- Sogou: function() {
- return e.replace(/^.*SE ([\d.X]+).*$/, "$1").replace(/^.*SogouMobileBrowser\/([\d.]+).*$/, "$1")
- },
- "2345Explorer": function() {
- return e.replace(/^.*2345Explorer\/([\d.]+).*$/, "$1")
- },
- TheWorld: function() {
- return e.replace(/^.*TheWorld ([\d.]+).*$/, "$1")
- },
- XiaoMi: function() {
- return e.replace(/^.*MiuiBrowser\/([\d.]+).*$/, "$1")
- },
- Quark: function() {
- return e.replace(/^.*Quark\/([\d.]+).*$/, "$1")
- },
- Qiyu: function() {
- return e.replace(/^.*Qiyu\/([\d.]+).*$/, "$1")
- },
- Wechat: function() {
- return e.replace(/^.*MicroMessenger\/([\d.]+).*$/, "$1")
- },
- Taobao: function() {
- return e.replace(/^.*AliApp\(TB\/([\d.]+).*$/, "$1")
- },
- Alipay: function() {
- return e.replace(/^.*AliApp\(AP\/([\d.]+).*$/, "$1")
- },
- Weibo: function() {
- return e.replace(/^.*weibo__([\d.]+).*$/, "$1")
- },
- Douban: function() {
- return e.replace(/^.*com.douban.frodo\/([\d.]+).*$/, "$1")
- },
- Suning: function() {
- return e.replace(/^.*SNEBUY-APP([\d.]+).*$/, "$1")
- },
- iQiYi: function() {
- return e.replace(/^.*IqiyiVersion\/([\d.]+).*$/, "$1")
- }
- };
- t.version = "",
- l[t.browser] && (t.version = l[t.browser](),
- t.version == e && (t.version = "")),
- "Edge" == t.browser ? t.engine = "EdgeHTML" : "Chrome" == t.browser && parseInt(t.version) > 27 ? t.engine = "Blink" : "Opera" == t.browser && parseInt(t.version) > 12 ? t.engine = "Blink" : "Yandex" == t.browser ? t.engine = "Blink" : void 0 == t.browser && (t.browser = "Unknow App")
- }
- (e)
- }
- }
- , function(e, t, n) {
- "use strict";
- var r = window
- , i = document
- , o = {}
- , a = {
- "&": "&",
- "<": "<",
- ">": ">",
- '"': """,
- "'": "'",
- "`": "`",
- "\\": "\"
- };
- for (var s in a)
- o[a[s]] = s;
- var l = /[&<>"'`\\]/g
- , c = RegExp(l.source)
- , d = /&(?:amp|lt|gt|quot|#39|#x60|#x5c);/g
- , u = RegExp(d.source)
- , p = {
- domReady: function(e) {
- if ("complete" === i.readyState || "loading" !== i.readyState && !i.documentElement.doScroll)
- setTimeout(function() {
- return e && e()
- }, 0);
- else {
- var t = function t() {
- i.removeEventListener("DOMContentLoaded", t, !1),
- r.removeEventListener("load", t, !1),
- e && e()
- };
- i.addEventListener("DOMContentLoaded", t, !1),
- r.addEventListener("load", t, !1)
- }
- },
- dynamicLoadSource: function(e, t, n) {
- var r = {
- script: "src",
- link: "href"
- }[e];
- if (p.find(i, e + "[" + r + '="' + t[r] + '"]'))
- "function" == typeof n && n();
- else {
- var o = p.create(e, t);
- i.getElementsByTagName("head")[0].appendChild(o),
- o.onload = o.onreadystatechange = function() {
- this.onload = this.onreadystatechange = null,
- "function" == typeof n && n()
- }
- }
- },
- on: function(e, t, n, r) {
- for (var i = 0, o = (e = e.split(" ")).length; i < o; i++)
- p.off(e[i], t, n, r),
- t.addEventListener ? t.addEventListener(e[i], n, r || !1) : t.attachEvent ? t.attachEvent("on" + e[i], n) : t["on" + e[i]] = n
- },
- off: function(e, t, n, r) {
- for (var i = 0, o = (e = e.split(" ")).length; i < o; i++)
- t.removeEventListener ? t.removeEventListener(e, n, r || !1) : t.detachEvent ? t.detachEvent("on" + e, n) : t["on" + e] = null
- },
- escape: function(e) {
- return e && c.test(e) ? e.replace(l, function(e) {
- return a[e]
- }) : e
- },
- unescape: function(e) {
- return e && u.test(e) ? e.replace(d, function(e) {
- return o[e]
- }) : e
- },
- create: function(e, t, n) {
- var r = document.createElement(e);
- return p.attr(r, t, n),
- r
- },
- find: function(e, t) {
- return e.querySelector(t)
- },
- findAll: function(e, t) {
- return e.querySelectorAll(t)
- },
- attr: function(e, t, n) {
- if (void 0 === e.getAttribute)
- return p.prop(e, t, n);
- if (void 0 !== n)
- null === n ? p.removeAttr(e, t) : e.setAttribute(t, n);
- else {
- if ("[object Object]" !== {}.toString.call(t))
- return e.getAttribute(t);
- p.each(t, function(t, n) {
- e.setAttribute(t, n)
- })
- }
- },
- prop: function(e, t, n) {
- return void 0 !== n ? e[t] = n : "[object Object]" !== {}.toString.call(t) ? e[t] : void p.each(t, function(t, n) {
- e[t] = n
- })
- },
- removeAttr: function(e, t) {
- var n = void 0
- , r = 0
- , i = t && t.match(/[^\x20\t\r\n\f\*\/\\]+/g);
- if (i && 1 === e.nodeType)
- for (; n = i[r++]; )
- e.removeAttribute(n);
- return e
- },
- clearAttr: function(e) {
- var t = e.attributes
- , n = ["align", "alt", "checked", "class", "disabled", "href", "id", "target", "title", "type", "src", "style"];
- return p.each(t, function(t, r) {
- var i = r.name;
- switch (i.toLowerCase()) {
- case "style":
- var o = r.value;
- p.each(o.split(";"), function(t, n) {
- n.indexOf("color") > -1 ? p.attr(e, "style", n) : p.removeAttr(e, "style")
- });
- break;
- case "class":
- if ("CODE" == e.nodeName)
- return !1;
- var a = r.value;
- a.indexOf("at") > -1 ? p.attr(e, "class", "at") : a.indexOf("vemoji") > -1 ? p.attr(e, "class", "vemoji") : p.removeAttr(e, "class");
- break;
- default:
- if (n.indexOf(i) > -1)
- return !0;
- p.removeAttr(e, i)
- }
- }),
- e
- },
- remove: function(e) {
- try {
- e.parentNode && e.parentNode.removeChild(e)
- } catch (e) {}
- },
- each: function(e, t) {
- var n = 0
- , r = e.length
- , i = {}.toString.call(e);
- if (["[object Array]", "[object NodeList]"].indexOf(i) > -1)
- for (; n < r && (!t || !1 !== t.call(e[n], n, e[n])); n++)
- ;
- else
- for (n in e)
- if (e.hasOwnProperty(n) && t && !1 === t.call(e[n], n, e[n]))
- break;
- return e
- }
- };
- e.exports = p
- }
- , function(e, t, n) {
- "use strict";
- var r = function(e) {
- var t = i(e.getDate(), 2)
- , n = i(e.getMonth() + 1, 2);
- return i(e.getFullYear(), 2) + "-" + n + "-" + t
- }
- , i = function(e, t) {
- for (var n = e.toString(); n.length < t; )
- n = "0" + n;
- return n
- };
- e.exports = function(e, t) {
- if (e)
- try {
- var n = e.getTime()
- , i = (new Date).getTime() - n
- , o = Math.floor(i / 864e5);
- if (0 === o) {
- var a = i % 864e5
- , s = Math.floor(a / 36e5);
- if (0 === s) {
- var l = a % 36e5
- , c = Math.floor(l / 6e4);
- if (0 === c) {
- var d = l % 6e4;
- return Math.round(d / 1e3) + " " + t.timeago.seconds
- }
- return c + " " + t.timeago.minutes
- }
- return s + " " + t.timeago.hours
- }
- return o < 0 ? t.timeago.now : o < 8 ? o + " " + t.timeago.days : r(e)
- } catch (e) {}
- }
- }
- , function(e, t, n) {
- var r;
- !function(i) {
- "use strict";
- function o(e, t) {
- var n = (65535 & e) + (65535 & t);
- return (e >> 16) + (t >> 16) + (n >> 16) << 16 | 65535 & n
- }
- function a(e, t, n, r, i, a) {
- return o(function(e, t) {
- return e << t | e >>> 32 - t
- }(o(o(t, e), o(r, a)), i), n)
- }
- function s(e, t, n, r, i, o, s) {
- return a(t & n | ~t & r, e, t, i, o, s)
- }
- function l(e, t, n, r, i, o, s) {
- return a(t & r | n & ~r, e, t, i, o, s)
- }
- function c(e, t, n, r, i, o, s) {
- return a(t ^ n ^ r, e, t, i, o, s)
- }
- function d(e, t, n, r, i, o, s) {
- return a(n ^ (t | ~r), e, t, i, o, s)
- }
- function u(e, t) {
- e[t >> 5] |= 128 << t % 32,
- e[14 + (t + 64 >>> 9 << 4)] = t;
- var n, r, i, a, u, p = 1732584193, f = -271733879, h = -1732584194, v = 271733878;
- for (n = 0; n < e.length; n += 16)
- r = p,
- i = f,
- a = h,
- u = v,
- f = d(f = d(f = d(f = d(f = c(f = c(f = c(f = c(f = l(f = l(f = l(f = l(f = s(f = s(f = s(f = s(f, h = s(h, v = s(v, p = s(p, f, h, v, e[n], 7, -680876936), f, h, e[n + 1], 12, -389564586), p, f, e[n + 2], 17, 606105819), v, p, e[n + 3], 22, -1044525330), h = s(h, v = s(v, p = s(p, f, h, v, e[n + 4], 7, -176418897), f, h, e[n + 5], 12, 1200080426), p, f, e[n + 6], 17, -1473231341), v, p, e[n + 7], 22, -45705983), h = s(h, v = s(v, p = s(p, f, h, v, e[n + 8], 7, 1770035416), f, h, e[n + 9], 12, -1958414417), p, f, e[n + 10], 17, -42063), v, p, e[n + 11], 22, -1990404162), h = s(h, v = s(v, p = s(p, f, h, v, e[n + 12], 7, 1804603682), f, h, e[n + 13], 12, -40341101), p, f, e[n + 14], 17, -1502002290), v, p, e[n + 15], 22, 1236535329), h = l(h, v = l(v, p = l(p, f, h, v, e[n + 1], 5, -165796510), f, h, e[n + 6], 9, -1069501632), p, f, e[n + 11], 14, 643717713), v, p, e[n], 20, -373897302), h = l(h, v = l(v, p = l(p, f, h, v, e[n + 5], 5, -701558691), f, h, e[n + 10], 9, 38016083), p, f, e[n + 15], 14, -660478335), v, p, e[n + 4], 20, -405537848), h = l(h, v = l(v, p = l(p, f, h, v, e[n + 9], 5, 568446438), f, h, e[n + 14], 9, -1019803690), p, f, e[n + 3], 14, -187363961), v, p, e[n + 8], 20, 1163531501), h = l(h, v = l(v, p = l(p, f, h, v, e[n + 13], 5, -1444681467), f, h, e[n + 2], 9, -51403784), p, f, e[n + 7], 14, 1735328473), v, p, e[n + 12], 20, -1926607734), h = c(h, v = c(v, p = c(p, f, h, v, e[n + 5], 4, -378558), f, h, e[n + 8], 11, -2022574463), p, f, e[n + 11], 16, 1839030562), v, p, e[n + 14], 23, -35309556), h = c(h, v = c(v, p = c(p, f, h, v, e[n + 1], 4, -1530992060), f, h, e[n + 4], 11, 1272893353), p, f, e[n + 7], 16, -155497632), v, p, e[n + 10], 23, -1094730640), h = c(h, v = c(v, p = c(p, f, h, v, e[n + 13], 4, 681279174), f, h, e[n], 11, -358537222), p, f, e[n + 3], 16, -722521979), v, p, e[n + 6], 23, 76029189), h = c(h, v = c(v, p = c(p, f, h, v, e[n + 9], 4, -640364487), f, h, e[n + 12], 11, -421815835), p, f, e[n + 15], 16, 530742520), v, p, e[n + 2], 23, -995338651), h = d(h, v = d(v, p = d(p, f, h, v, e[n], 6, -198630844), f, h, e[n + 7], 10, 1126891415), p, f, e[n + 14], 15, -1416354905), v, p, e[n + 5], 21, -57434055), h = d(h, v = d(v, p = d(p, f, h, v, e[n + 12], 6, 1700485571), f, h, e[n + 3], 10, -1894986606), p, f, e[n + 10], 15, -1051523), v, p, e[n + 1], 21, -2054922799), h = d(h, v = d(v, p = d(p, f, h, v, e[n + 8], 6, 1873313359), f, h, e[n + 15], 10, -30611744), p, f, e[n + 6], 15, -1560198380), v, p, e[n + 13], 21, 1309151649), h = d(h, v = d(v, p = d(p, f, h, v, e[n + 4], 6, -145523070), f, h, e[n + 11], 10, -1120210379), p, f, e[n + 2], 15, 718787259), v, p, e[n + 9], 21, -343485551),
- p = o(p, r),
- f = o(f, i),
- h = o(h, a),
- v = o(v, u);
- return [p, f, h, v]
- }
- function p(e) {
- var t, n = "", r = 32 * e.length;
- for (t = 0; t < r; t += 8)
- n += String.fromCharCode(e[t >> 5] >>> t % 32 & 255);
- return n
- }
- function f(e) {
- var t, n = [];
- for (n[(e.length >> 2) - 1] = void 0,
- t = 0; t < n.length; t += 1)
- n[t] = 0;
- var r = 8 * e.length;
- for (t = 0; t < r; t += 8)
- n[t >> 5] |= (255 & e.charCodeAt(t / 8)) << t % 32;
- return n
- }
- function h(e) {
- var t, n, r = "0123456789abcdef", i = "";
- for (n = 0; n < e.length; n += 1)
- t = e.charCodeAt(n),
- i += r.charAt(t >>> 4 & 15) + r.charAt(15 & t);
- return i
- }
- function v(e) {
- return unescape(encodeURIComponent(e))
- }
- function g(e) {
- return function(e) {
- return p(u(f(e), 8 * e.length))
- }(v(e))
- }
- function m(e, t) {
- return function(e, t) {
- var n, r, i = f(e), o = [], a = [];
- for (o[15] = a[15] = void 0,
- i.length > 16 && (i = u(i, 8 * e.length)),
- n = 0; n < 16; n += 1)
- o[n] = 909522486 ^ i[n],
- a[n] = 1549556828 ^ i[n];
- return r = u(o.concat(f(t)), 512 + 8 * t.length),
- p(u(a.concat(r), 640))
- }(v(e), v(t))
- }
- function b(e, t, n) {
- return t ? n ? m(t, e) : function(e, t) {
- return h(m(e, t))
- }(t, e) : n ? g(e) : function(e) {
- return h(g(e))
- }(e)
- }
- void 0 !== (r = function() {
- return b
- }
- .call(t, n, t, e)) && (e.exports = r)
- }()
- }
- , function(e, t, n) {
- e.exports = function() {
- "use strict";
- var e = function(e, t) {
- return function(e) {
- var t = e.exports = function() {
- return new RegExp("(?:" + t.line().source + ")|(?:" + t.block().source + ")","gm")
- }
- ;
- t.line = function() {
- return /(?:^|\s)\/\/(.+?)$/gm
- }
- ,
- t.block = function() {
- return /\/\*([\S\s]*?)\*\//gm
- }
- }(t = {
- exports: {}
- }),
- t.exports
- }()
- , t = ["23AC69", "91C132", "F19726", "E8552D", "1AAB8E", "E1147F", "2980C1", "1BA1E6", "9FA0A0", "F19726", "E30B20", "E30B20", "A3338B"];
- return function(n, r) {
- void 0 === r && (r = {});
- var i = r.colors;
- void 0 === i && (i = t);
- var o = 0
- , a = {}
- , s = new RegExp("(" + /[\u4E00-\u9FFF\u3400-\u4dbf\uf900-\ufaff\u3040-\u309f\uac00-\ud7af\u0400-\u04FF]+|\w+/.source + "|" + /' + e + ""
- }(n);
- if ("<" === t)
- return "<";
- var r;
- a[t] ? r = a[t] : (r = i[o],
- a[t] = r);
- var s = '' + t + "";
- return o = ++o % i.length,
- s
- })
- }
- }()
- }
- , function(e, t, n) {
- (function(t) {
- !function(t) {
- "use strict";
- function n(e) {
- this.tokens = [],
- this.tokens.links = {},
- this.options = e || h.defaults,
- this.rules = v.normal,
- this.options.pedantic ? this.rules = v.pedantic : this.options.gfm && (this.options.tables ? this.rules = v.tables : this.rules = v.gfm)
- }
- function r(e, t) {
- if (this.options = t || h.defaults,
- this.links = e,
- this.rules = g.normal,
- this.renderer = this.options.renderer || new i,
- this.renderer.options = this.options,
- !this.links)
- throw new Error("Tokens array requires a `links` property.");
- this.options.pedantic ? this.rules = g.pedantic : this.options.gfm && (this.options.breaks ? this.rules = g.breaks : this.rules = g.gfm)
- }
- function i(e) {
- this.options = e || h.defaults
- }
- function o() {}
- function a(e) {
- this.tokens = [],
- this.token = null,
- this.options = e || h.defaults,
- this.options.renderer = this.options.renderer || new i,
- this.renderer = this.options.renderer,
- this.renderer.options = this.options
- }
- function s(e, t) {
- return e.replace(t ? /&/g : /&(?!#?\w+;)/g, "&").replace(//g, ">").replace(/"/g, """).replace(/'/g, "'")
- }
- function l(e) {
- return e.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi, function(e, t) {
- return "colon" === (t = t.toLowerCase()) ? ":" : "#" === t.charAt(0) ? "x" === t.charAt(1) ? String.fromCharCode(parseInt(t.substring(2), 16)) : String.fromCharCode(+t.substring(1)) : ""
- })
- }
- function c(e, t) {
- return e = e.source || e,
- t = t || "",
- {
- replace: function(t, n) {
- return n = (n = n.source || n).replace(/(^|[^\[])\^/g, "$1"),
- e = e.replace(t, n),
- this
- },
- getRegex: function() {
- return new RegExp(e,t)
- }
- }
- }
- function d(e, t) {
- return m[" " + e] || (/^[^:]+:\/*[^\/]*$/.test(e) ? m[" " + e] = e + "/" : m[" " + e] = e.replace(/[^\/]*$/, "")),
- e = m[" " + e],
- "//" === t.slice(0, 2) ? e.replace(/:[\s\S]*/, ":") + t : "/" === t.charAt(0) ? e.replace(/(:\/*[^\/]*)[\s\S]*/, "$1") + t : e + t
- }
- function u() {}
- function p(e) {
- for (var t, n, r = 1; r < arguments.length; r++)
- for (n in t = arguments[r])
- Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);
- return e
- }
- function f(e, t) {
- var n = e.replace(/([^\\])\|/g, "$1 |").split(/ +\| */)
- , r = 0;
- if (n.length > t)
- n.splice(t);
- else
- for (; n.length < t; )
- n.push("");
- for (; r < n.length; r++)
- n[r] = n[r].replace(/\\\|/g, "|");
- return n
- }
- function h(e, t, r) {
- if (void 0 === e || null === e)
- throw new Error("marked(): input parameter is undefined or null");
- if ("string" != typeof e)
- throw new Error("marked(): input parameter is of type " + Object.prototype.toString.call(e) + ", string expected");
- if (r || "function" == typeof t) {
- r || (r = t,
- t = null);
- var i, o, l = (t = p({}, h.defaults, t || {})).highlight, c = 0;
- try {
- i = n.lex(e, t)
- } catch (e) {
- return r(e)
- }
- o = i.length;
- var d = function(e) {
- if (e)
- return t.highlight = l,
- r(e);
- var n;
- try {
- n = a.parse(i, t)
- } catch (t) {
- e = t
- }
- return t.highlight = l,
- e ? r(e) : r(null, n)
- };
- if (!l || l.length < 3)
- return d();
- if (delete t.highlight,
- !o)
- return d();
- for (; c < i.length; c++)
- !function(e) {
- "code" !== e.type ? --o || d() : l(e.text, e.lang, function(t, n) {
- return t ? d(t) : null == n || n === e.text ? --o || d() : (e.text = n,
- e.escaped = !0,
- void (--o || d()))
- })
- }(i[c])
- } else
- try {
- return t && (t = p({}, h.defaults, t)),
- a.parse(n.lex(e, t), t)
- } catch (e) {
- if (e.message += "\nPlease report this to https://github.com/markedjs/marked.",
- (t || h.defaults).silent)
- return "
An error occurred:
" + s(e.message + "", !0) + "
";
- throw e
- }
- }
- var v = {
- newline: /^\n+/,
- code: /^( {4}[^\n]+\n*)+/,
- fences: u,
- hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,
- heading: /^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,
- nptable: u,
- blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,
- list: /^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,
- html: "^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=\\h*\\n)[\\s\\S]*?(?:\\n{2,}|$)|(?!script|pre|style)[a-z][\\w-]*\\s*>(?=\\h*\\n)[\\s\\S]*?(?:\\n{2,}|$))",
- def: /^ {0,3}\[(label)\]: *\n? *([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,
- table: u,
- lheading: /^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,
- paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading| {0,3}>|<\/?(?:tag)(?: +|\n|\/?>)|<(?:script|pre|style|!--))[^\n]+)*)/,
- text: /^[^\n]+/,
- _label: /(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,
- _title: /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/
- };
- v.def = c(v.def).replace("label", v._label).replace("title", v._title).getRegex(),
- v.bullet = /(?:[*+-]|\d+\.)/,
- v.item = /^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,
- v.item = c(v.item, "gm").replace(/bull/g, v.bullet).getRegex(),
- v.list = c(v.list).replace(/bull/g, v.bullet).replace("hr", "\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def", "\\n+(?=" + v.def.source + ")").getRegex(),
- v._tag = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",
- v._comment = //,
- v.html = c(v.html, "i").replace("comment", v._comment).replace("tag", v._tag).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),
- v.paragraph = c(v.paragraph).replace("hr", v.hr).replace("heading", v.heading).replace("lheading", v.lheading).replace("tag", v._tag).getRegex(),
- v.blockquote = c(v.blockquote).replace("paragraph", v.paragraph).getRegex(),
- v.normal = p({}, v),
- v.gfm = p({}, v.normal, {
- fences: /^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\n? *\1 *(?:\n+|$)/,
- paragraph: /^/,
- heading: /^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/
- }),
- v.gfm.paragraph = c(v.paragraph).replace("(?!", "(?!" + v.gfm.fences.source.replace("\\1", "\\2") + "|" + v.list.source.replace("\\1", "\\3") + "|").getRegex(),
- v.tables = p({}, v.gfm, {
- nptable: /^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,
- table: /^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/
- }),
- v.pedantic = p({}, v.normal, {
- html: c("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?\\1> *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment", v._comment).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
- def: /^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/
- }),
- n.rules = v,
- n.lex = function(e, t) {
- return new n(t).lex(e)
- }
- ,
- n.prototype.lex = function(e) {
- return e = e.replace(/\r\n|\r/g, "\n").replace(/\t/g, " ").replace(/\u00a0/g, " ").replace(/\u2424/g, "\n"),
- this.token(e, !0)
- }
- ,
- n.prototype.token = function(e, t) {
- e = e.replace(/^ +$/gm, "");
- for (var n, r, i, o, a, s, l, c, d, u, p, h, g; e; )
- if ((i = this.rules.newline.exec(e)) && (e = e.substring(i[0].length),
- i[0].length > 1 && this.tokens.push({
- type: "space"
- })),
- i = this.rules.code.exec(e))
- e = e.substring(i[0].length),
- i = i[0].replace(/^ {4}/gm, ""),
- this.tokens.push({
- type: "code",
- text: this.options.pedantic ? i : i.replace(/\n+$/, "")
- });
- else if (i = this.rules.fences.exec(e))
- e = e.substring(i[0].length),
- this.tokens.push({
- type: "code",
- lang: i[2],
- text: i[3] || ""
- });
- else if (i = this.rules.heading.exec(e))
- e = e.substring(i[0].length),
- this.tokens.push({
- type: "heading",
- depth: i[1].length,
- text: i[2]
- });
- else if (t && (i = this.rules.nptable.exec(e)) && (s = {
- type: "table",
- header: f(i[1].replace(/^ *| *\| *$/g, "")),
- align: i[2].replace(/^ *|\| *$/g, "").split(/ *\| */),
- cells: i[3] ? i[3].replace(/\n$/, "").split("\n") : []
- }).header.length === s.align.length) {
- for (e = e.substring(i[0].length),
- c = 0; c < s.align.length; c++)
- /^ *-+: *$/.test(s.align[c]) ? s.align[c] = "right" : /^ *:-+: *$/.test(s.align[c]) ? s.align[c] = "center" : /^ *:-+ *$/.test(s.align[c]) ? s.align[c] = "left" : s.align[c] = null;
- for (c = 0; c < s.cells.length; c++)
- s.cells[c] = f(s.cells[c], s.header.length);
- this.tokens.push(s)
- } else if (i = this.rules.hr.exec(e))
- e = e.substring(i[0].length),
- this.tokens.push({
- type: "hr"
- });
- else if (i = this.rules.blockquote.exec(e))
- e = e.substring(i[0].length),
- this.tokens.push({
- type: "blockquote_start"
- }),
- i = i[0].replace(/^ *> ?/gm, ""),
- this.token(i, t),
- this.tokens.push({
- type: "blockquote_end"
- });
- else if (i = this.rules.list.exec(e)) {
- for (e = e.substring(i[0].length),
- p = (o = i[2]).length > 1,
- this.tokens.push({
- type: "list_start",
- ordered: p,
- start: p ? +o : ""
- }),
- n = !1,
- u = (i = i[0].match(this.rules.item)).length,
- c = 0; c < u; c++)
- l = (s = i[c]).length,
- ~(s = s.replace(/^ *([*+-]|\d+\.) +/, "")).indexOf("\n ") && (l -= s.length,
- s = this.options.pedantic ? s.replace(/^ {1,4}/gm, "") : s.replace(new RegExp("^ {1," + l + "}","gm"), "")),
- this.options.smartLists && c !== u - 1 && (o === (a = v.bullet.exec(i[c + 1])[0]) || o.length > 1 && a.length > 1 || (e = i.slice(c + 1).join("\n") + e,
- c = u - 1)),
- r = n || /\n\n(?!\s*$)/.test(s),
- c !== u - 1 && (n = "\n" === s.charAt(s.length - 1),
- r || (r = n)),
- g = void 0,
- (h = /^\[[ xX]\] /.test(s)) && (g = " " !== s[1],
- s = s.replace(/^\[[ xX]\] +/, "")),
- this.tokens.push({
- type: r ? "loose_item_start" : "list_item_start",
- task: h,
- checked: g
- }),
- this.token(s, !1),
- this.tokens.push({
- type: "list_item_end"
- });
- this.tokens.push({
- type: "list_end"
- })
- } else if (i = this.rules.html.exec(e))
- e = e.substring(i[0].length),
- this.tokens.push({
- type: this.options.sanitize ? "paragraph" : "html",
- pre: !this.options.sanitizer && ("pre" === i[1] || "script" === i[1] || "style" === i[1]),
- text: i[0]
- });
- else if (t && (i = this.rules.def.exec(e)))
- e = e.substring(i[0].length),
- i[3] && (i[3] = i[3].substring(1, i[3].length - 1)),
- d = i[1].toLowerCase().replace(/\s+/g, " "),
- this.tokens.links[d] || (this.tokens.links[d] = {
- href: i[2],
- title: i[3]
- });
- else if (t && (i = this.rules.table.exec(e)) && (s = {
- type: "table",
- header: f(i[1].replace(/^ *| *\| *$/g, "")),
- align: i[2].replace(/^ *|\| *$/g, "").split(/ *\| */),
- cells: i[3] ? i[3].replace(/(?: *\| *)?\n$/, "").split("\n") : []
- }).header.length === s.align.length) {
- for (e = e.substring(i[0].length),
- c = 0; c < s.align.length; c++)
- /^ *-+: *$/.test(s.align[c]) ? s.align[c] = "right" : /^ *:-+: *$/.test(s.align[c]) ? s.align[c] = "center" : /^ *:-+ *$/.test(s.align[c]) ? s.align[c] = "left" : s.align[c] = null;
- for (c = 0; c < s.cells.length; c++)
- s.cells[c] = f(s.cells[c].replace(/^ *\| *| *\| *$/g, ""), s.header.length);
- this.tokens.push(s)
- } else if (i = this.rules.lheading.exec(e))
- e = e.substring(i[0].length),
- this.tokens.push({
- type: "heading",
- depth: "=" === i[2] ? 1 : 2,
- text: i[1]
- });
- else if (t && (i = this.rules.paragraph.exec(e)))
- e = e.substring(i[0].length),
- this.tokens.push({
- type: "paragraph",
- text: "\n" === i[1].charAt(i[1].length - 1) ? i[1].slice(0, -1) : i[1]
- });
- else if (i = this.rules.text.exec(e))
- e = e.substring(i[0].length),
- this.tokens.push({
- type: "text",
- text: i[0]
- });
- else if (e)
- throw new Error("Infinite loop on byte: " + e.charCodeAt(0));
- return this.tokens
- }
- ;
- var g = {
- escape: /^\\([!"#$%&'()*+,\-.\/:;<=>?@\[\]\\^_`{|}~])/,
- autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/,
- url: u,
- tag: "^comment|^[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",
- link: /^!?\[(label)\]\(href(?:\s+(title))?\s*\)/,
- reflink: /^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,
- nolink: /^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,
- strong: /^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)|^__([^\s])__(?!_)|^\*\*([^\s])\*\*(?!\*)/,
- em: /^_([^\s][\s\S]*?[^\s_])_(?!_)|^_([^\s_][\s\S]*?[^\s])_(?!_)|^\*([^\s][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*][\s\S]*?[^\s])\*(?!\*)|^_([^\s_])_(?!_)|^\*([^\s*])\*(?!\*)/,
- code: /^(`+)\s*([\s\S]*?[^`]?)\s*\1(?!`)/,
- br: /^ {2,}\n(?!\s*$)/,
- del: u,
- text: /^[\s\S]+?(?=[\\?@\[\]\\^_`{|}~])/g,
- _scheme: /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,
- _email: /[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/
- };
- g.autolink = c(g.autolink).replace("scheme", g._scheme).replace("email", g._email).getRegex(),
- g._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,
- g.tag = c(g.tag).replace("comment", v._comment).replace("attribute", g._attribute).getRegex(),
- g._label = /(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|[^\[\]\\])*?/,
- g._href = /\s*(<(?:\\[<>]?|[^\s<>\\])*>|(?:\\[()]?|\([^\s\x00-\x1f()\\]*\)|[^\s\x00-\x1f()\\])*?)/,
- g._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,
- g.link = c(g.link).replace("label", g._label).replace("href", g._href).replace("title", g._title).getRegex(),
- g.reflink = c(g.reflink).replace("label", g._label).getRegex(),
- g.normal = p({}, g),
- g.pedantic = p({}, g.normal, {
- strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,
- em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,
- link: c(/^!?\[(label)\]\((.*?)\)/).replace("label", g._label).getRegex(),
- reflink: c(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", g._label).getRegex()
- }),
- g.gfm = p({}, g.normal, {
- escape: c(g.escape).replace("])", "~|])").getRegex(),
- url: c(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("email", g._email).getRegex(),
- _backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,
- del: /^~~(?=\S)([\s\S]*?\S)~~/,
- text: c(g.text).replace("]|", "~]|").replace("|", "|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&'*+/=?^_`{\\|}~-]+@|").getRegex()
- }),
- g.breaks = p({}, g.gfm, {
- br: c(g.br).replace("{2,}", "*").getRegex(),
- text: c(g.gfm.text).replace("{2,}", "*").getRegex()
- }),
- r.rules = g,
- r.output = function(e, t, n) {
- return new r(t,n).output(e)
- }
- ,
- r.prototype.output = function(e) {
- for (var t, n, i, o, a, l = ""; e; )
- if (a = this.rules.escape.exec(e))
- e = e.substring(a[0].length),
- l += a[1];
- else if (a = this.rules.autolink.exec(e))
- e = e.substring(a[0].length),
- "@" === a[2] ? i = "mailto:" + (n = s(this.mangle(a[1]))) : i = n = s(a[1]),
- l += this.renderer.link(i, null, n);
- else if (this.inLink || !(a = this.rules.url.exec(e))) {
- if (a = this.rules.tag.exec(e))
- !this.inLink && /^/i.test(a[0]) && (this.inLink = !1),
- e = e.substring(a[0].length),
- l += this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(a[0]) : s(a[0]) : a[0];
- else if (a = this.rules.link.exec(e))
- e = e.substring(a[0].length),
- this.inLink = !0,
- i = a[2],
- this.options.pedantic ? (t = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i)) ? (i = t[1],
- o = t[3]) : o = "" : o = a[3] ? a[3].slice(1, -1) : "",
- i = i.trim().replace(/^<([\s\S]*)>$/, "$1"),
- l += this.outputLink(a, {
- href: r.escapes(i),
- title: r.escapes(o)
- }),
- this.inLink = !1;
- else if ((a = this.rules.reflink.exec(e)) || (a = this.rules.nolink.exec(e))) {
- if (e = e.substring(a[0].length),
- t = (a[2] || a[1]).replace(/\s+/g, " "),
- !(t = this.links[t.toLowerCase()]) || !t.href) {
- l += a[0].charAt(0),
- e = a[0].substring(1) + e;
- continue
- }
- this.inLink = !0,
- l += this.outputLink(a, t),
- this.inLink = !1
- } else if (a = this.rules.strong.exec(e))
- e = e.substring(a[0].length),
- l += this.renderer.strong(this.output(a[4] || a[3] || a[2] || a[1]));
- else if (a = this.rules.em.exec(e))
- e = e.substring(a[0].length),
- l += this.renderer.em(this.output(a[6] || a[5] || a[4] || a[3] || a[2] || a[1]));
- else if (a = this.rules.code.exec(e))
- e = e.substring(a[0].length),
- l += this.renderer.codespan(s(a[2].trim(), !0));
- else if (a = this.rules.br.exec(e))
- e = e.substring(a[0].length),
- l += this.renderer.br();
- else if (a = this.rules.del.exec(e))
- e = e.substring(a[0].length),
- l += this.renderer.del(this.output(a[1]));
- else if (a = this.rules.text.exec(e))
- e = e.substring(a[0].length),
- l += this.renderer.text(s(this.smartypants(a[0])));
- else if (e)
- throw new Error("Infinite loop on byte: " + e.charCodeAt(0))
- } else
- a[0] = this.rules._backpedal.exec(a[0])[0],
- e = e.substring(a[0].length),
- "@" === a[2] ? i = "mailto:" + (n = s(a[0])) : (n = s(a[0]),
- i = "www." === a[1] ? "http://" + n : n),
- l += this.renderer.link(i, null, n);
- return l
- }
- ,
- r.escapes = function(e) {
- return e ? e.replace(r.rules._escapes, "$1") : e
- }
- ,
- r.prototype.outputLink = function(e, t) {
- var n = t.href
- , r = t.title ? s(t.title) : null;
- return "!" !== e[0].charAt(0) ? this.renderer.link(n, r, this.output(e[1])) : this.renderer.image(n, r, s(e[1]))
- }
- ,
- r.prototype.smartypants = function(e) {
- return this.options.smartypants ? e.replace(/---/g, "—").replace(/--/g, "–").replace(/(^|[-\u2014\/(\[{"\s])'/g, "$1‘").replace(/'/g, "’").replace(/(^|[-\u2014\/(\[{\u2018\s])"/g, "$1“").replace(/"/g, "”").replace(/\.{3}/g, "…") : e
- }
- ,
- r.prototype.mangle = function(e) {
- if (!this.options.mangle)
- return e;
- for (var t, n = "", r = e.length, i = 0; i < r; i++)
- t = e.charCodeAt(i),
- Math.random() > .5 && (t = "x" + t.toString(16)),
- n += "" + t + ";";
- return n
- }
- ,
- i.prototype.code = function(e, t, n) {
- if (this.options.highlight) {
- var r = this.options.highlight(e, t);
- null != r && r !== e && (n = !0,
- e = r)
- }
- return t ? '' + (n ? e : s(e, !0)) + "
\n" : "" + (n ? e : s(e, !0)) + "
"
- }
- ,
- i.prototype.blockquote = function(e) {
- return "\n" + e + "
\n"
- }
- ,
- i.prototype.html = function(e) {
- return e
- }
- ,
- i.prototype.heading = function(e, t, n) {
- return this.options.headerIds ? "\n" : "" + e + "\n"
- }
- ,
- i.prototype.hr = function() {
- return this.options.xhtml ? "
\n" : "
\n"
- }
- ,
- i.prototype.list = function(e, t, n) {
- var r = t ? "ol" : "ul";
- return "<" + r + (t && 1 !== n ? ' start="' + n + '"' : "") + ">\n" + e + "" + r + ">\n"
- }
- ,
- i.prototype.listitem = function(e) {
- return "" + e + "\n"
- }
- ,
- i.prototype.checkbox = function(e) {
- return " "
- }
- ,
- i.prototype.paragraph = function(e) {
- return "" + e + "
\n"
- }
- ,
- i.prototype.table = function(e, t) {
- return t && (t = "" + t + ""),
- "\n"
- }
- ,
- i.prototype.tablerow = function(e) {
- return "\n" + e + "
\n"
- }
- ,
- i.prototype.tablecell = function(e, t) {
- var n = t.header ? "th" : "td";
- return (t.align ? "<" + n + ' align="' + t.align + '">' : "<" + n + ">") + e + "" + n + ">\n"
- }
- ,
- i.prototype.strong = function(e) {
- return "" + e + ""
- }
- ,
- i.prototype.em = function(e) {
- return "" + e + ""
- }
- ,
- i.prototype.codespan = function(e) {
- return "" + e + "
"
- }
- ,
- i.prototype.br = function() {
- return this.options.xhtml ? "
" : "
"
- }
- ,
- i.prototype.del = function(e) {
- return "" + e + ""
- }
- ,
- i.prototype.link = function(e, t, n) {
- if (this.options.sanitize) {
- try {
- var r = decodeURIComponent(l(e)).replace(/[^\w:]/g, "").toLowerCase()
- } catch (e) {
- return n
- }
- if (0 === r.indexOf("javascript:") || 0 === r.indexOf("vbscript:") || 0 === r.indexOf("data:"))
- return n
- }
- this.options.baseUrl && !b.test(e) && (e = d(this.options.baseUrl, e));
- try {
- e = encodeURI(e).replace(/%25/g, "%")
- } catch (e) {
- return n
- }
- var i = '" + n + ""
- }
- ,
- i.prototype.image = function(e, t, n) {
- this.options.baseUrl && !b.test(e) && (e = d(this.options.baseUrl, e));
- var r = '
" : ">")
- }
- ,
- i.prototype.text = function(e) {
- return e
- }
- ,
- o.prototype.strong = o.prototype.em = o.prototype.codespan = o.prototype.del = o.prototype.text = function(e) {
- return e
- }
- ,
- o.prototype.link = o.prototype.image = function(e, t, n) {
- return "" + n
- }
- ,
- o.prototype.br = function() {
- return ""
- }
- ,
- a.parse = function(e, t) {
- return new a(t).parse(e)
- }
- ,
- a.prototype.parse = function(e) {
- this.inline = new r(e.links,this.options),
- this.inlineText = new r(e.links,p({}, this.options, {
- renderer: new o
- })),
- this.tokens = e.reverse();
- for (var t = ""; this.next(); )
- t += this.tok();
- return t
- }
- ,
- a.prototype.next = function() {
- return this.token = this.tokens.pop()
- }
- ,
- a.prototype.peek = function() {
- return this.tokens[this.tokens.length - 1] || 0
- }
- ,
- a.prototype.parseText = function() {
- for (var e = this.token.text; "text" === this.peek().type; )
- e += "\n" + this.next().text;
- return this.inline.output(e)
- }
- ,
- a.prototype.tok = function() {
- switch (this.token.type) {
- case "space":
- return "";
- case "hr":
- return this.renderer.hr();
- case "heading":
- return this.renderer.heading(this.inline.output(this.token.text), this.token.depth, l(this.inlineText.output(this.token.text)));
- case "code":
- return this.renderer.code(this.token.text, this.token.lang, this.token.escaped);
- case "table":
- var e, t, n, r, i = "", o = "";
- for (n = "",
- e = 0; e < this.token.header.length; e++)
- n += this.renderer.tablecell(this.inline.output(this.token.header[e]), {
- header: !0,
- align: this.token.align[e]
- });
- for (i += this.renderer.tablerow(n),
- e = 0; e < this.token.cells.length; e++) {
- for (t = this.token.cells[e],
- n = "",
- r = 0; r < t.length; r++)
- n += this.renderer.tablecell(this.inline.output(t[r]), {
- header: !1,
- align: this.token.align[r]
- });
- o += this.renderer.tablerow(n)
- }
- return this.renderer.table(i, o);
- case "blockquote_start":
- for (o = ""; "blockquote_end" !== this.next().type; )
- o += this.tok();
- return this.renderer.blockquote(o);
- case "list_start":
- o = "";
- for (var a = this.token.ordered, s = this.token.start; "list_end" !== this.next().type; )
- o += this.tok();
- return this.renderer.list(o, a, s);
- case "list_item_start":
- for (o = "",
- this.token.task && (o += this.renderer.checkbox(this.token.checked)); "list_item_end" !== this.next().type; )
- o += "text" === this.token.type ? this.parseText() : this.tok();
- return this.renderer.listitem(o);
- case "loose_item_start":
- for (o = ""; "list_item_end" !== this.next().type; )
- o += this.tok();
- return this.renderer.listitem(o);
- case "html":
- return this.renderer.html(this.token.text);
- case "paragraph":
- return this.renderer.paragraph(this.inline.output(this.token.text));
- case "text":
- return this.renderer.paragraph(this.parseText())
- }
- }
- ;
- var m = {}
- , b = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;
- u.exec = u,
- h.options = h.setOptions = function(e) {
- return p(h.defaults, e),
- h
- }
- ,
- h.getDefaults = function() {
- return {
- baseUrl: null,
- breaks: !1,
- gfm: !0,
- headerIds: !0,
- headerPrefix: "",
- highlight: null,
- langPrefix: "language-",
- mangle: !0,
- pedantic: !1,
- renderer: new i,
- sanitize: !1,
- sanitizer: null,
- silent: !1,
- smartLists: !1,
- smartypants: !1,
- tables: !0,
- xhtml: !1
- }
- }
- ,
- h.defaults = h.getDefaults(),
- h.Parser = a,
- h.parser = a.parse,
- h.Renderer = i,
- h.TextRenderer = o,
- h.Lexer = n,
- h.lexer = n.lex,
- h.InlineLexer = r,
- h.inlineLexer = r.output,
- h.parse = h,
- e.exports = h
- }(this || "undefined" != typeof window && window)
- }
- ).call(t, n(10))
- }
- , function(e, t) {
- e.exports = {
- name: "valine",
- version: "Volantis Edition (based on 1.3.10)",
- description: "A simple comment system based on Leancloud.",
- main: "/dist/Valine.min.js",
- author: "xCss (https://github.com/xCss)",
- scripts: {
- test: "webpack",
- build: "webpack",
- dev: "webpack-dev-server --env.dev",
- clean: "rm -rf dist/* "
- },
- keywords: ["simple", "easy-to-use", "fast-and-safe", "comment-system"],
- license: "GPL-2.0",
- repository: {
- type: "git",
- url: "git+https://github.com/xcss/Valine.git"
- },
- homepage: "https://github.com/xcss/Valine#readme",
- devDependencies: {
- autoprefixer: "^7.1.1",
- autosize: "^4.0.2",
- "babel-core": "^6.25.0",
- "babel-loader": "^7.1.1",
- "babel-polyfill": "^6.23.0",
- "babel-preset-es2015": "^6.24.1",
- "babel-preset-stage-0": "^6.24.1",
- "blueimp-md5": "^2.8.0",
- "css-loader": "^0.28.4",
- "exports-loader": "^0.6.3",
- "file-loader": "^0.11.2",
- hanabi: "^0.4.0",
- marked: "^0.4.0",
- "node-sass": "^4.9.2",
- "postcss-loader": "^2.0.5",
- "sass-loader": "^6.0.3",
- "style-loader": "^0.18.2",
- "url-loader": "^0.6.2",
- webpack: "^2.6.1",
- "webpack-cli": "^3.3.5",
- "webpack-dev-server": "^2.9.1"
- }
- }
- }
- , function(e, t) {
- var n;
- n = function() {
- return this
- }();
- try {
- n = n || Function("return this")() || (0,
- eval)("this")
- } catch (e) {
- "object" == typeof window && (n = window)
- }
- e.exports = n
- }
- , function(e, t) {
- function aru(index){
- return "
";
- }
- function tieba(str){
- return "
";
- }
- function qq(str) {
- return "
";
- }
- e.exports = {
- aru151: aru(151),
- 贴吧what: tieba('what'),
- 贴吧乖: tieba('乖'),
- 贴吧喷: tieba('喷'),
- 贴吧太开心: tieba('太开心'),
- 贴吧委屈: tieba('委屈'),
- 贴吧小乖: tieba('小乖'),
- 贴吧捂嘴笑: tieba('捂嘴笑'),
- 贴吧泪: tieba('泪'),
- 贴吧滑稽: tieba('滑稽'),
- 贴吧爱心: tieba('爱心'),
- 贴吧玫瑰: tieba('玫瑰'),
- 贴吧真棒: tieba('真棒'),
- 贴吧疑问: tieba('疑问'),
- qqOK: qq('OK'),
- qq亲亲: qq('亲亲'),
- qq便便: qq('便便'),
- qq偷笑: qq('偷笑'),
- qq冷汗: qq('冷汗'),
- qq发呆: qq('发呆'),
- qq发怒: qq('发怒'),
- qq可怜: qq('可怜'),
- qq可爱: qq('可爱'),
- qq左哼哼: qq('左哼哼'),
- qq右哼哼: qq('右哼哼'),
- qq吓: qq('吓'),
- qq呲牙: qq('呲牙'),
- qq嗅大了: qq('嗅大了'),
- qq坏笑: qq('坏笑'),
- qq奋斗: qq('奋斗'),
- qq委屈: qq('委屈'),
- qq害羞: qq('害羞'),
- qq尴尬: qq('尴尬'),
- qq强: qq('强'),
- qq得意: qq('得意'),
- qq快哭了: qq('快哭了'),
- qq惊恐: qq('惊恐'),
- qq憨笑: qq('憨笑'),
- qq抓狂: qq('抓狂'),
- qq抱拳: qq('抱拳'),
- qq握手: qq('握手'),
- qq晕: qq('晕'),
- qq疑问: qq('疑问'),
- qq阴险: qq('阴险'),
- qq鼓掌: qq('鼓掌'),
- grinning: "😀",
- smiley: "😃",
- smile: "😄",
- grin: "😁",
- laughing: "😆",
- sweat_smile: "😅",
- joy: "😂",
- blush: "😊",
- innocent: "😇",
- wink: "😉",
- relieved: "😌",
- heart_eyes: "😍",
- kissing_heart: "😘",
- kissing: "😗",
- kissing_smiling_eyes: "😙",
- kissing_closed_eyes: "😚",
- yum: "😋",
- stuck_out_tongue_winking_eye: "😜",
- stuck_out_tongue_closed_eyes: "😝",
- stuck_out_tongue: "😛",
- sunglasses: "😎",
- smirk: "😏",
- unamused: "😒",
- disappointed: "😞",
- pensive: "😔",
- worried: "😟",
- confused: "😕",
- persevere: "😣",
- confounded: "😖",
- tired_face: "😫",
- weary: "😩",
- angry: "😠",
- rage: "😡",
- no_mouth: "😶",
- neutral_face: "😐",
- expressionless: "😑",
- hushed: "😯",
- frowning: "😦",
- anguished: "😧",
- open_mouth: "😮",
- astonished: "😲",
- dizzy_face: "😵",
- flushed: "😳",
- scream: "😱",
- fearful: "😨",
- cold_sweat: "😰",
- cry: "😢",
- disappointed_relieved: "😥",
- sob: "😭",
- sweat: "😓",
- sleepy: "😪",
- sleeping: "😴",
- mask: "😷",
- smiling_imp: "😈",
- smiley_cat: "😺",
- smile_cat: "😸",
- joy_cat: "😹",
- heart_eyes_cat: "😻",
- smirk_cat: "😼",
- kissing_cat: "😽",
- scream_cat: "🙀",
- crying_cat_face: "😿",
- pouting_cat: "😾",
- cat: "🐱",
- mouse: "🐭",
- cow: "🐮",
- monkey_face: "🐵",
- hand: "✋",
- fist: "✊",
- v: "✌️",
- point_up: "👆",
- point_down: "👇",
- point_left: "👈",
- point_right: "👉",
- facepunch: "👊",
- wave: "👋",
- clap: "👏",
- open_hands: "👐",
- "+1": "👍",
- "-1": "👎",
- ok_hand: "👌",
- pray: "🙏",
- ear: "👂",
- eyes: "👀",
- nose: "👃",
- lips: "👄",
- tongue: "👅",
- heart: "❤️",
- cupid: "💘",
- sparkling_heart: "💖",
- star: "⭐️",
- sparkles: "✨",
- zap: "⚡️",
- sunny: "☀️",
- cloud: "☁️",
- snowflake: "❄️",
- umbrella: "☔️",
- coffee: "☕️",
- airplane: "✈️",
- anchor: "⚓️",
- watch: "⌚️",
- phone: "☎️",
- hourglass: "⌛️",
- email: "✉️",
- scissors: "✂️",
- black_nib: "✒️",
- pencil2: "✏️",
- x: "❌",
- recycle: "♻️",
- white_check_mark: "✅",
- negative_squared_cross_mark: "❎",
- m: "Ⓜ️",
- i: "ℹ️",
- tm: "™️",
- copyright: "©️",
- registered: "®️"
- }
- }
- , function(e, t, n) {
- var r = n(13);
- "string" == typeof r && (r = [[e.i, r, ""]]);
- var i = {
- transform: void 0
- };
- n(15)(r, i),
- r.locals && (e.exports = r.locals)
- }
- , function(e, t, n) {
- (e.exports = n(14)(!1)).push([e.i, '.v{font-size:16px;text-align:left}.v *{-webkit-box-sizing:border-box;box-sizing:border-box;line-height:2;color:#555;-webkit-transition:all .3s ease;transition:all .3s ease}.v hr{margin:.825em 0;border-color:#f6f6f6;border-style:dashed}.v.hide-avatar .vimg{display:none}.v a{position:relative;cursor:pointer;color:#1abc9c;display:inline-block}.v a:before{content:"";position:absolute;width:0;right:0;bottom:0;height:1px;background:#1abc9c;-webkit-transition:width .3s ease;transition:width .3s ease}.v a:hover{color:#d7191a}.v a:hover:before{width:100%;left:0;right:auto}.v code,.v pre{background-color:#f6f6f6;color:#555;padding:.2em .4em;border-radius:3px;font-size:85%;margin:0;font-family:Source Code Pro,courier new,Input Mono,PT Mono,SFMono-Regular,Consolas,Monaco,Menlo,PingFang SC,Liberation Mono,Microsoft YaHei,Courier,monospace}.v pre{padding:10px;overflow:auto;line-height:1.45}.v pre code{padding:0;background:transparent;white-space:pre-wrap;word-break:keep-all}.v blockquote{color:#666;margin:.5em 0;padding:0 0 0 1em;border-left:8px solid hsla(0,0%,93%,.5)}.v .vinput{border:none;resize:none;outline:none;padding:10px 5px;max-width:100%;font-size:.775em}.v input[type=checkbox],.v input[type=radio]{display:inline-block;vertical-align:middle;margin-top:-2px}.v .vwrap{border:1px solid #f0f0f0;border-radius:4px;margin-bottom:10px;overflow:hidden;position:relative;padding:10px}.v .vwrap input{background:transparent}.v .vwrap .vedit{position:relative;padding-top:10px}.v .vwrap .vedit .vctrl{text-align:right;font-size:12px}.v .vwrap .vedit .vctrl span{padding:10px;display:inline-block;vertical-align:middle;cursor:pointer}.v .vwrap .vedit .vemojis{display:none;font-size:18px;text-align:justify;max-height:145px;overflow:auto;margin-bottom:10px;-webkit-box-shadow:0 0 1px #f0f0f0;box-shadow:0 0 1px #f0f0f0}.v .vwrap .vedit .vemojis i{font-style:normal;padding:7px 0;width:38px;cursor:pointer;text-align:center;display:inline-block;vertical-align:middle}.v .vwrap .vedit .vpreview{padding:7px;-webkit-box-shadow:0 0 1px #f0f0f0;box-shadow:0 0 1px #f0f0f0}.v .vwrap .vedit .vpreview frame,.v .vwrap .vedit .vpreview iframe,.v .vwrap .vedit .vpreview img{max-width:100%;border:none}.v .vwrap .vheader .vinput{width:33.33%;border-bottom:1px dashed #dedede}.v .vwrap .vheader.item2 .vinput{width:50%}.v .vwrap .vheader.item1 .vinput{width:100%}.v .vwrap .vheader .vinput:focus{border-bottom-color:#eb5055}@media screen and (max-width:520px){.v .vwrap .vheader.item2 .vinput,.v .vwrap .vheader .vinput{width:100%}}.v .vwrap .vcontrol{font-size:0;padding-top:15px}.v .vwrap .vcontrol .col{display:inline-block;font-size:16px;vertical-align:middle;color:#ccc}.v .vwrap .vcontrol .col.text-right{text-align:right}.v .vwrap .vcontrol .col svg{margin-right:2px;overflow:hidden;fill:currentColor;vertical-align:middle}.v .vwrap .vcontrol .col.col-20{width:20%}.v .vwrap .vcontrol .col.col-40{width:40%}.v .vwrap .vcontrol .col.col-60{width:60%}.v .vwrap .vcontrol .col.col-80{width:80%}.v .vwrap .vcontrol .col.split{width:50%}.v .vwrap .vmark{position:absolute;background:rgba(0,0,0,.65);width:100%;height:100%;left:0;top:0}.v .vwrap .vmark .valert{padding-top:3em}.v .vwrap .vmark .valert .vtext{color:#fff;padding:1em 0}.v .vwrap .vmark .valert .vcode{width:4.6875em;border-radius:.3125em;padding:.5em;background:#dedede}.v .vwrap .vmark .valert .vcode:focus{border-color:#3090e4;background-color:#fff}@media screen and (max-width:720px){.v .vwrap .vmark .valert{padding-top:5.5em}.v .vwrap .vmark .valert .vtext{color:#fff;padding:1em 0}}.v .power{color:#999;padding:.5em 0}.v .power,.v .power a{font-size:.75em}.v .vinfo{font-size:0;padding:5px}.v .vinfo .col{font-size:16px;display:inline-block;width:50%;vertical-align:middle}.v .vinfo .vcount .vnum{font-weight:600;font-size:1.25em}.v a{text-decoration:none;color:#555}.v a:hover{color:#222}.v ol,.v ul{padding:0;margin-left:1.25em}.v .txt-center{text-align:center}.v .txt-right{text-align:right}.v .pd5{padding:5px}.v .pd10{padding:10px}.v .veditor{width:100%;min-height:8.75em;font-size:.875em;background:transparent;resize:vertical;-webkit-transition:all .25s ease;transition:all .25s ease}.v .vbtn{-webkit-transition-duration:.4s;transition-duration:.4s;text-align:center;color:#313131;border:1px solid #ededed;border-radius:.3em;display:inline-block;background:#ededed;margin-bottom:0;font-weight:400;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;white-space:nowrap;padding:.5em 1.25em;font-size:.875em;line-height:1.42857143;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:none}.v .vbtn+.vbtn{margin-left:1.25em}.v .vbtn:active,.v .vbtn:hover{color:#3090e4;border-color:#3090e4;background-color:#fff}.v .vempty{padding:1.25em;text-align:center;color:#999}.v .vlist{width:100%}.v .vlist .vcard{padding-top:1.5em;position:relative;display:block}.v .vlist .vcard:after{content:"";clear:both;display:block}.v .vlist .vcard .vimg{width:3.125em;height:3.125em;float:left;border-radius:50%;margin-right:.7525em;border:1px solid #f5f5f5;padding:.125em}@media screen and (max-width:720px){.v .vlist .vcard .vimg{width:2.5em;height:2.5em}}.v .vlist .vcard .vhead{line-height:1.5;margin-top:0}.v .vlist .vcard .vhead .vnick{position:relative;font-size:.875em;font-weight:500;margin-right:.875em;cursor:pointer;color:#1abc9c;text-decoration:none;display:inline-block}.v .vlist .vcard .vhead .vnick:before{content:"";position:absolute;width:0;right:0;bottom:0;height:1px;background:#1abc9c;-webkit-transition:width .3s ease;transition:width .3s ease}.v .vlist .vcard .vhead .vnick:hover{color:#d7191a}.v .vlist .vcard .vhead .vnick:hover:before{width:100%;left:0;right:auto}.v .vlist .vcard .vhead .vsys{display:inline-block;padding:.2em .5em;background:#ededed;color:#b3b1b1;font-size:.75em;border-radius:.2em;margin-right:.3em}@media screen and (max-width:520px){.v .vlist .vcard .vhead .vsys{display:none}}.v .vlist .vcard .vh{overflow:hidden;padding-bottom:.5em;border-bottom:1px dashed #f5f5f5}.v .vlist .vcard .vh .vtime{color:#b3b3b3;font-size:.75em;margin-right:.875em}.v .vlist .vcard .vh .vmeta{line-height:1;position:relative}.v .vlist .vcard .vh .vmeta .vat{font-size:.8125em;color:#ef2f11;cursor:pointer;float:right}.v .vlist .vcard:last-child .vh{border-bottom:none}.v .vlist .vcard .vcontent{word-wrap:break-word;word-break:break-all;text-align:justify;color:#4a4a4a;font-size:.875em;line-height:2;position:relative;margin-bottom:.75em;padding-top:.625em}.v .vlist .vcard .vcontent frame,.v .vlist .vcard .vcontent iframe,.v .vlist .vcard .vcontent img{max-width:100%;border:none}.v .vlist .vcard .vcontent.expand{cursor:pointer;max-height:11.25em;overflow:hidden}.v .vlist .vcard .vcontent.expand:before{display:block;content:"";position:absolute;width:100%;left:0;top:0;bottom:3.15em;pointer-events:none;background:-webkit-gradient(linear,left top,left bottom,from(hsla(0,0%,100%,0)),to(hsla(0,0%,100%,.9)));background:linear-gradient(180deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.9))}.v .vlist .vcard .vcontent.expand:after{display:block;content:"Click on expand";text-align:center;color:#828586;position:absolute;width:100%;height:3.15em;line-height:3.15em;left:0;bottom:0;pointer-events:none;background:hsla(0,0%,100%,.9)}.v .vlist .vcard .vquote{color:#666;margin-top:1em;padding-left:1em;border-left:1px dashed hsla(0,0%,93%,.5)}.v .vlist .vcard .vquote .vimg{width:2.225em;height:2.225em}.v .vpage .vmore{margin:1em 0}.v .clear{content:"";display:block;clear:both}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes pulse{50%{background:#dcdcdc}}@keyframes pulse{50%{background:#dcdcdc}}.v .vloading{position:relative;padding:20px;display:block;height:80px}.v .vloading:before{-webkit-box-sizing:border-box;box-sizing:border-box;content:"";position:absolute;display:inline-block;top:20px;left:50%;margin-left:-20px;width:40px;height:40px;border:6px double #a0a0a0;border-top-color:transparent;border-bottom-color:transparent;border-radius:50%;-webkit-animation:spin 1s infinite linear;animation:spin 1s infinite linear}', ""])
- }
- , function(e, t) {
- function n(e, t) {
- var n = e[1] || ""
- , r = e[3];
- if (!r)
- return n;
- if (t && "function" == typeof btoa) {
- var i = function(e) {
- return "/*# sourceMappingURL=data:application/json;charset=utf-8;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(e)))) + " */"
- }(r);
- return [n].concat(r.sources.map(function(e) {
- return "/*# sourceURL=" + r.sourceRoot + e + " */"
- })).concat([i]).join("\n")
- }
- return [n].join("\n")
- }
- e.exports = function(e) {
- var t = [];
- return t.toString = function() {
- return this.map(function(t) {
- var r = n(t, e);
- return t[2] ? "@media " + t[2] + "{" + r + "}" : r
- }).join("")
- }
- ,
- t.i = function(e, n) {
- "string" == typeof e && (e = [[null, e, ""]]);
- for (var r = {}, i = 0; i < this.length; i++) {
- var o = this[i][0];
- "number" == typeof o && (r[o] = !0)
- }
- for (i = 0; i < e.length; i++) {
- var a = e[i];
- "number" == typeof a[0] && r[a[0]] || (n && !a[2] ? a[2] = n : n && (a[2] = "(" + a[2] + ") and (" + n + ")"),
- t.push(a))
- }
- }
- ,
- t
- }
- }
- , function(e, t, n) {
- function r(e, t) {
- for (var n = 0; n < e.length; n++) {
- var r = e[n]
- , i = p[r.id];
- if (i) {
- i.refs++;
- for (var o = 0; o < i.parts.length; o++)
- i.parts[o](r.parts[o]);
- for (; o < r.parts.length; o++)
- i.parts.push(d(r.parts[o], t))
- } else {
- var a = [];
- for (o = 0; o < r.parts.length; o++)
- a.push(d(r.parts[o], t));
- p[r.id] = {
- id: r.id,
- refs: 1,
- parts: a
- }
- }
- }
- }
- function i(e, t) {
- for (var n = [], r = {}, i = 0; i < e.length; i++) {
- var o = e[i]
- , a = t.base ? o[0] + t.base : o[0]
- , s = {
- css: o[1],
- media: o[2],
- sourceMap: o[3]
- };
- r[a] ? r[a].parts.push(s) : n.push(r[a] = {
- id: a,
- parts: [s]
- })
- }
- return n
- }
- function o(e, t) {
- var n = h(e.insertInto);
- if (!n)
- throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");
- var r = m[m.length - 1];
- if ("top" === e.insertAt)
- r ? r.nextSibling ? n.insertBefore(t, r.nextSibling) : n.appendChild(t) : n.insertBefore(t, n.firstChild),
- m.push(t);
- else {
- if ("bottom" !== e.insertAt)
- throw new Error("Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.");
- n.appendChild(t)
- }
- }
- function a(e) {
- if (null === e.parentNode)
- return !1;
- e.parentNode.removeChild(e);
- var t = m.indexOf(e);
- t >= 0 && m.splice(t, 1)
- }
- function s(e) {
- var t = document.createElement("style");
- return e.attrs.type = "text/css",
- c(t, e.attrs),
- o(e, t),
- t
- }
- function l(e) {
- var t = document.createElement("link");
- return e.attrs.type = "text/css",
- e.attrs.rel = "stylesheet",
- c(t, e.attrs),
- o(e, t),
- t
- }
- function c(e, t) {
- Object.keys(t).forEach(function(n) {
- e.setAttribute(n, t[n])
- })
- }
- function d(e, t) {
- var n, r, i, o;
- if (t.transform && e.css) {
- if (!(o = t.transform(e.css)))
- return function() {}
- ;
- e.css = o
- }
- if (t.singleton) {
- var c = g++;
- n = v || (v = s(t)),
- r = u.bind(null, n, c, !1),
- i = u.bind(null, n, c, !0)
- } else
- e.sourceMap && "function" == typeof URL && "function" == typeof URL.createObjectURL && "function" == typeof URL.revokeObjectURL && "function" == typeof Blob && "function" == typeof btoa ? (n = l(t),
- r = function(e, t, n) {
- var r = n.css
- , i = n.sourceMap
- , o = void 0 === t.convertToAbsoluteUrls && i;
- (t.convertToAbsoluteUrls || o) && (r = b(r)),
- i && (r += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(i)))) + " */");
- var a = new Blob([r],{
- type: "text/css"
- })
- , s = e.href;
- e.href = URL.createObjectURL(a),
- s && URL.revokeObjectURL(s)
- }
- .bind(null, n, t),
- i = function() {
- a(n),
- n.href && URL.revokeObjectURL(n.href)
- }
- ) : (n = s(t),
- r = function(e, t) {
- var n = t.css
- , r = t.media;
- if (r && e.setAttribute("media", r),
- e.styleSheet)
- e.styleSheet.cssText = n;
- else {
- for (; e.firstChild; )
- e.removeChild(e.firstChild);
- e.appendChild(document.createTextNode(n))
- }
- }
- .bind(null, n),
- i = function() {
- a(n)
- }
- );
- return r(e),
- function(t) {
- if (t) {
- if (t.css === e.css && t.media === e.media && t.sourceMap === e.sourceMap)
- return;
- r(e = t)
- } else
- i()
- }
- }
- function u(e, t, n, r) {
- var i = n ? "" : r.css;
- if (e.styleSheet)
- e.styleSheet.cssText = x(t, i);
- else {
- var o = document.createTextNode(i)
- , a = e.childNodes;
- a[t] && e.removeChild(a[t]),
- a.length ? e.insertBefore(o, a[t]) : e.appendChild(o)
- }
- }
- var p = {}
- , f = function(e) {
- var t;
- return function() {
- return void 0 === t && (t = function() {
- return window && document && document.all && !window.atob
- }
- .apply(this, arguments)),
- t
- }
- }()
- , h = function(e) {
- var t = {};
- return function(e) {
- return void 0 === t[e] && (t[e] = function(e) {
- return document.querySelector(e)
- }
- .call(this, e)),
- t[e]
- }
- }()
- , v = null
- , g = 0
- , m = []
- , b = n(16);
- e.exports = function(e, t) {
- if ("undefined" != typeof DEBUG && DEBUG && "object" != typeof document)
- throw new Error("The style-loader cannot be used in a non-browser environment");
- (t = t || {}).attrs = "object" == typeof t.attrs ? t.attrs : {},
- t.singleton || (t.singleton = f()),
- t.insertInto || (t.insertInto = "head"),
- t.insertAt || (t.insertAt = "bottom");
- var n = i(e, t);
- return r(n, t),
- function(e) {
- for (var o = [], a = 0; a < n.length; a++) {
- var s = n[a];
- (l = p[s.id]).refs--,
- o.push(l)
- }
- e && r(i(e, t), t);
- for (a = 0; a < o.length; a++) {
- var l;
- if (0 === (l = o[a]).refs) {
- for (var c = 0; c < l.parts.length; c++)
- l.parts[c]();
- delete p[l.id]
- }
- }
- }
- }
- ;
- var x = function() {
- var e = [];
- return function(t, n) {
- return e[t] = n,
- e.filter(Boolean).join("\n")
- }
- }()
- }
- , function(e, t) {
- e.exports = function(e) {
- var t = "undefined" != typeof window && window.location;
- if (!t)
- throw new Error("fixUrls requires window.location");
- if (!e || "string" != typeof e)
- return e;
- var n = t.protocol + "//" + t.host
- , r = n + t.pathname.replace(/\/[^\/]*$/, "/");
- return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi, function(e, t) {
- var i, o = t.trim().replace(/^"(.*)"$/, function(e, t) {
- return t
- }).replace(/^'(.*)'$/, function(e, t) {
- return t
- });
- return /^(#|data:|http:\/\/|https:\/\/|file:\/\/\/)/i.test(o) ? e : (i = 0 === o.indexOf("//") ? o : 0 === o.indexOf("/") ? n + o : r + o.replace(/^\.\//, ""),
- "url(" + JSON.stringify(i) + ")")
- })
- }
- }
- , function(e, t, n) {
- n(12),
- e.exports = n(1)
- }
- ])
-});
diff --git a/themes/hexo-theme-material-x-master/source/less/_archive.less b/themes/hexo-theme-material-x-master/source/less/_archive.less
deleted file mode 100644
index f1ddc849cb99ed837a0bdad925fee3ffb756afc1..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/less/_archive.less
+++ /dev/null
@@ -1,77 +0,0 @@
-#archive-page {
- margin-bottom: @gap * 2;
- .archive {
- position: relative;
- .archive-year {
- font-size: @fontsize_base;
- margin-top: 4em;
- margin-bottom: 1em;
- &:first-child{
- margin-top: 0em;
- padding-top: 0;
- }
- h2 {
- margin-top: 1em;
- }
- a {
- color: @color_text_main;
- text-decoration: none;
- }
- }
- .archive-post {
- a {
- width: 100%;
- display: inline-flex;
- flex-flow: row nowrap;
- justify-content: flex-start;
- align-items: flex-start;
- text-decoration: none;
- &.child{
- padding-left: 2*@gap;
- }
- }
- time {
- color: @color_text_main;
- flex: none;
- font-size: @fontsize_small;
- padding: .5em .5em .5em 3em;
- @media (max-width: @on_phone) {
- padding: .5em .5em .5em 0;
- }
- }
- .title {
- flex: auto;
- padding: .5em;
- font-size: @fontsize_small;
- color: @color_text_main;
- i{
- color: @theme_main;
- &.music {
- color: @color_text_highlight;
- }
- &.red {
- color: @color_mac_close;
- }
- &.green {
- color: @color_mac_maximize;
- }
- &.yellow {
- color: @color_mac_minimize;
- }
- &.blue {
- color: @color_mac_finder;
- }
- &.theme {
- color: @theme_main;
- }
- &.accent {
- color: @color_text_highlight;
- }
- &.orange {
- color: @color_md_deep_orange;
- }
- }
- }
- }
- }
-}
diff --git a/themes/hexo-theme-material-x-master/source/less/_article.less b/themes/hexo-theme-material-x-master/source/less/_article.less
deleted file mode 100644
index 77d2c3de42f2b757a62b66fac25778f5df2101a6..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/less/_article.less
+++ /dev/null
@@ -1,666 +0,0 @@
-.article {
- color: @color_text_main;
- font-size: @fontsize_base;
- line-height: @lineheight_base;
- word-break: break-all;
- word-wrap: break-word;
- img {
- position: relative;
- margin: 0 auto;
- background: white;
- .enable-trans();
- @media (max-width: @on_phone) {
- box-shadow: none;
- }
- }
- span{
- img {
- display: inline;
- margin: auto;
- }
- }
- .aplayer{
- margin: 0;
- display: inline-block;
- width: 400px;
- max-width: 100%;
- border-radius: 4px;
- color: #666;
- font-family: @fontfamily_base;
- }
- p.small-img,
- div.small-img {
- img {
- width: auto;
- max-width: 100%;
- margin: 0;
- box-shadow: none;
- }
- }
- p {
- // margin: 20px 0px;
- margin-top: .5em;
- margin-bottom: 1em;
- // text-align: justify;
- strong{
- color: @color_text_main;
- padding-left: 2px;
- padding-right: 2px;
- }
- max-width: 100%;
- overflow: auto;
- .mjx-math{
- font-family: @fontfamily_code;
- background: fade(@theme_background, 50%);
- padding: @gap/2;
- border-radius: @border_radius_code_block;
- }
- }
- ul,
- ol {
- font-size: @fontsize_base * .95;
- list-style: initial;
- padding-left: 10px;
- margin-left: 10px;
- margin-bottom: 1em;
- &.center{
- justify-content: center;
- }
- &.pure{
- margin: 0;
- padding: 0;
- display: flex;
- flex-wrap: wrap;
- align-items: stretch;
- br{
- display: none;
- }
- @media screen and (max-width: 900px){
- justify-content: space-between;
- }
- li{
- margin: 8px;
- display: flex;
- width: 75px;
- flex-direction: column;
- align-items: stretch;
- vertical-align: middle;
- text-align: center;
- font-size: .8em;
- line-height: 1.2em;
- overflow: hidden;
- a{
- display: flex;
- flex-direction: column;
- align-items: center;
- text-align: center;
- }
-
- img{
- margin-bottom: 8px;
- }
-
- }
- &.rounded{
- img{
- border-radius: 25%;
- }
- }
-
- &.circle{
- img{
- border-radius: 50%;
- }
- }
- &.about{
- @media screen and (max-width: 900px){
- justify-content: center;
- }
- }
- }
- }
- ul {
- & > li{
- list-style: initial;
- }
-
- }
- ol {
- & > li{
- margin-left: 10px;
- list-style: decimal;
- }
- }
- a {
- &:before{
- display: none;
- }
- color: @color_text_link;
- .enable-trans();
- &:hover {
- color: @color_text_highlight;
- text-decoration: underline;
- }
- &:active {
- color: darken(@color_text_highlight, 25%);
- }
- }
- h1,
- h2,
- h3,
- h4,
- h5,
- h6 {
- position: relative;
- font-family: @fontfamily_base;
- font-weight: normal;
- margin-top: 1.5em;
- margin-bottom: 1em;
- &.title {
- left: 0;
- &:before {
- content: none;
- }
- }
- }
- h1, h2 {
- color: @color_text_header;
- margin-top: 3em;
- border-bottom: 1px solid fade(@color_text_main, 10%);
- padding-bottom: .2em;
- }
- h3, h4, h5, h6 {
- &:first-child{
- margin-top: 0;
- padding-top: 0;
- }
- }
- h1 {
- font-size: @fontsize_h1;
- }
- h2 {
- font-size: @fontsize_h2;
- text-align: @text_align_h2;
- }
- h3 {
- font-size: @fontsize_h3;
- color: @color_text_h3;
- text-align: @text_align_h3;
- }
- h4 {
- font-weight: bold;
- font-size: @fontsize_h4;
- }
- h5 {
- font-weight: bold;
- color: @color_text_main;
- font-size: @fontsize_h5;
- }
- h6 {
- color: fade(@color_text_main, 75%);
- font-size: @fontsize_h6;
- }
- .subtitle{
- h6 {
- color: fade(@color_text_main, 90%);
- }
- }
- figure {
- figcaption {
- span {
- display: inline-block;
- margin-right: 5px;
- }
- }
- }
- blockquote {
- p{
- text-align: left;
- word-wrap: normal;
- margin: 0;
- font-size: @fontsize_small;
- line-height: @fontsize_small * 1.5;
- }
- position: relative;
- width: 100%;
- font-size: @fontsize_small;
- background: fade(@color_bg_quote, 10%);
- margin: 1em 0;
- padding: @gap;
- border-left: @border_radius_code_block solid @color_bg_quote;
- border-radius: @border_radius_code_block;
- .enable-trans();
- footer {
- strong {
- margin-right: 7px;
- }
- }
- &.pullquote{
- &.right{
- border-left: none;
- border-right: @border_radius_code_block solid @color_bg_quote;
- p{
- text-align: right;
- }
- }
- }
- }
-
- pre {
- display: block;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- font-family: @fontfamily_code;
- color: @color_text_main;
- }
- code {
- font-family: @fontfamily_code;
- padding: 3px 3px 0px 3px;
- margin: 0px 2px;
- vertical-align: center;
- border-radius: 2px;
- border: 1px solid fade(@color_bg_code, 50%);
- font-size: @fontsize_base * .8;
- background: @color_bg_code;
- @media(max-width: @on_phone){
- font-size: @fontsize_base * .8 * .95;
- }
- }
- .readmore {
- // display: none; // howtodesign?
- font-family: @fontfamily_base;
- font-size: .8em;
- letter-spacing: .1em;
- margin-top: @gap;
- a {
- text-decoration: none;
- display: inline-block;
- vertical-align: middle;
- line-height: 2rem;
- font-weight: bold;
- background-color: @theme_main;
- padding: .2em 2.4em;
- color: @color_text_in_header;
- border-radius: @border_radius/2;
- .enable-trans();
- &:hover {
- background: darken(@theme_main, 10%);
- }
- &:active {
- // background: darken(@theme_main, 20%);
- }
- }
-
- }
- .tags {
- position: relative;
- padding-top: @gap/2;
- padding-bottom: @gap/2;
- font-size: @fontsize_small;
- line-height: @lineheight_base;
- margin-top: @gap;
- background: darken(fade(@theme_background, 50%), 5%);
- &.article-tags {
- // padding-top: 2*@gap;
- // background: transparent;
- }
- word-spacing: @gap/2;
- a {
- color: @color_text_main;
- position: relative;
- display: inline-block;
- word-spacing: 0;
- // letter-spacing: .1em;
- // &+a{
- // margin-left: @gap/2;
- // }
- .enable-trans();
- &:hover {
- color: @color_text_highlight;
- background: transparent;
- text-decoration: none;
- }
- &::before {
- // content: "#";
- }
- }
- }
-
- table:not('.highlight table') {
- width: 100%;
-
- td,
- th {
- padding: 12px 24px;
- }
- tr {
- // border-bottom: 1px solid #ddd;
- }
- &>thead>th {
- // border-bottom-width: 2px;
- }
- }
- @media (max-width: @on_phone) {
- ul,
- ol {
- font-size: @fontsize_base * .95;
- }
- figure {
- font-size: 13px;
- line-height: 1.6em;
- }
- }
- .prev-next{
- width: 100%;
- display: flex;
- justify-content: space-between;
- align-content: flex-start;
- section{
- width: 100%;
- padding: @gap/2;
- color: fade(@color_text_main, 70%);
- background-color: fade(@theme_background, 50%);
- border-radius: @border_radius;
- p{
- font-size: @fontsize_base;
- line-height: @lineheight_base;
- margin: 0;
- }
- h4{
- margin-top: @gap/2;
- margin-bottom: @gap/2;
- position: relative;
- font-family: @fontfamily_base;
- font-weight: bold;
- font-size: @fontsize_h5;
- @media(max-width:@on_phone) {
- letter-spacing: -1px;
- }
-
- }
- h6{
- margin: 0;
- word-spacing: normal;
- }
- .enable-trans();
- // border: 1px solid transparent;
- // &:hover{
- // border: 1px solid fade(@theme_main, 30%);
- // }
- .tags{
- background: transparent;
- padding: 0;
- margin-top: @gap/2;
- margin-bottom: 0;
- font-size: @fontsize_small * 0.9;
- word-spacing: 4px;
- }
- &:first-child{
- margin-left: 0;
- margin-right: 0;
- }
- }
- .prev{
- text-align: left;
- margin-left: 0;
- margin-right: @gap/2;
- border-top-right-radius: @border_radius;
- border-bottom-right-radius: @border_radius;
- }
- .next{
- text-align: right;
- margin-left: @gap/2;
- margin-right: 0;
- border-top-left-radius: @border_radius;
- border-bottom-left-radius: @border_radius;
- }
-
- }
-}
-
-
-.highlight {
- position: relative;
- width: 100%;
- margin-top: 1em;
- margin-bottom: 1.2em;
- overflow: auto;
- display: block;
- background: @color_bg_code_block;
- font-size: @fontsize_small * .95;
- font-family:@fontfamily_code;
- line-height: @lineheight_base;
- border-radius: @border_radius_code_block;
- .enable-trans();
- figcaption{
- padding: @gap/4 @gap/2;
- background-color: darken(@color_bg_code_block, 3%);
- }
- table{
- td,th{
- padding: 0;
- }
- }
- .gutter{
- width: 24px;
- padding: 0 12px;
- text-align: right;
- border-width: 0;
- margin-left: 0;
- background-color: darken(@color_bg_code_block, 3%);
- pre{
- color: fade(@color_text_main, 80%);
- }
- &:hover{
-
- }
- }
- .code{
- padding: @gap;
- vertical-align: top;
- border: 0px solid darken(@theme_background, 2%);
- &:before{
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- color: fade(@color_text_main, 80%);
- font-size: @fontsize_footnote;
- padding: 4px 8px 0;
- line-height: @lineheight_base;
- }
- }
-
- &.html .code:before{
- content: "HTML";
- }
- &.js .code:before{
- content: "JS";
- }
- &.bash .code:before{
- content: "BASH";
- }
- &.shell .code:before{
- content: "SHELL";
- }
- &.css .code:before{
- content: "CSS";
- }
- &.less .code:before{
- content: "LESS";
- }
- &.swift .code:before{
- content: "SWIFT";
- }
- &.objc .code:before{
- content: "OBJECTIVE-C";
- }
- &.c .code:before{
- content: "C";
- }
- &.java .code:before{
- content: "JAVA";
- }
- &.python .code:before{
- content: "PYTHON";
- }
- &.plain .code:before{
- content: "";
- }
-
- &::-webkit-scrollbar {
- height: @border_radius_line;
- width: @border_radius_line;
- }
- // /* Track */
-
- &::-webkit-scrollbar-track-piece {
- background: transparent;
- }
-
-
-/* Handle */
-
- &::-webkit-scrollbar-thumb {
- background: darken(@color_bg_code_block, 5%);
- cursor: pointer;
- border-radius: @border_radius_code_block;
- .enable-trans();
- &:hover {
- background: darken(@color_bg_code_block, 12%);
- }
- }
-
-}
-
-.article {
- @media (max-width: @on_phone) {
- .highlight {
- font-size: @fontsize_small * .95 * .95;
- }
- }
-}
-
-.art-item-footer{
- height: 40px;
- line-height: @lineheight_base;
- font-size: @fontsize_small;
- .art-item-left,.art-item-right{
- width:50%;
- height: 40px;
- line-height: 40px;
- text-overflow: ellipsis;
- white-space: nowrap;
- overflow: hidden;
- }
- .art-item-left{
- float: left;
- text-align: left;
- }
- .art-item-right{
- float: right;
- text-align: right;
- }
- @media (max-width: @on_phone) {
- font-size: @fontsize_small * .95 * .95;
- }
-}
-
-@hl_keyword: #9c27b0;
-@hl_blue: #1E80F0;
-@hl_cyan: #17AFCA;
-@hl_green: #3FA33F;
-@hl_light_blue: #6ECDF9;
-@hl_red: #EE2B29;
-@hl_orange: #FB3F1B;
-@hl_amber: #FD8607;
-
-pre{
- // 行
- .line{
- color: fade(@color_text_main, 90%);
- }
- .marked{
- background-color: fade(@color_mac_minimize, 20%);
- border-radius: 2px;
- border: 1px solid fade(@color_mac_minimize, 40%);
- }
- .title{
- color: @color_md_indigo;
- }
- // 注释
- .comment {
- color: fade(darken(@color_md_green, 10%), 70%);
- }
- .keyword, .javascript .function, .attr {
- color: @hl_keyword;
- }
- .type, .built_in, .tag .name{
- color: @color_md_light_blue;
- }
- .variable, .attribute, .regexp, .ruby .constant, .xml .tag .title, .xml .pi, .xml .doctype, .html .doctype, .css .id, .css .class, .css .pseudo {
- color: @hl_amber;
- }
- .number, .preprocessor, .literal, .params, .constant {
- color: @hl_amber;
- }
- .class, .ruby .class .title, .css .rules .attribute {
- color: @color_md_orange;
- }
- .string {
- color: darken(@color_md_green, 10%);
- }
- .value, .inheritance, .header, .ruby .symbol, .xml .cdata {
- color: @color_md_green;
- }
- .css .hexcolor {
- color: #66cccc;
- }
- .function, .python .decorator, .python .title, .ruby .function .title, .ruby .title .keyword, .perl .sub, .javascript .title, .coffeescript .title {
- color: #6699cc;
- }
-
-}
-.html{
- .tag .name{
- color: @hl_red;
- }
-}
-
-//代码块复制按钮
-.highlight{
- //方便copy代码按钮(btn-copy)的定位
- position: relative;
-}
-.btn-copy {
- display: inline-block;
- cursor: pointer;
- background-color: #FCFCFC;
- background-image: linear-gradient(#fcfcfc,#eee);
- border: 1px solid #d5d5d5;
- border-radius: 2px;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- -webkit-appearance: none;
- font-size: 13px;
- font-weight: 700;
- line-height: 20px;
- color: #666;
- padding: 2px 6px;
- position: absolute;
- right: 5px;
- top: 5px;
- opacity: 0;
- .enable-trans();
- &:hover{
- color: #444;
- }
-}
-.btn-copy span {
- margin-left: 5px;
-}
-.highlight:hover .btn-copy{
- opacity: 1;
-}
diff --git a/themes/hexo-theme-material-x-master/source/less/_base.less b/themes/hexo-theme-material-x-master/source/less/_base.less
deleted file mode 100644
index c90bfc030d594d47c0b454ea73931e1004b90067..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/less/_base.less
+++ /dev/null
@@ -1,546 +0,0 @@
-/* Basic Settings */
-
-* {
- box-sizing: border-box;
- outline: none;
- margin: 0;
- padding: 0;
-}
-
-
-/* My Base */
-
-html {
- color: @color_text_main;
- width: 100%;
- height: 100%;
- font-family: @fontfamily_base;
- font-size: @fontsize_base;
- line-height: 1.5rem;
- -webkit-text-size-adjust: 100%;
- -ms-text-size-adjust: 100%;
- text-rendering: optimizelegibility;
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-}
-
-body {
- background-color: @theme_background;
- &.modal-active {
- overflow: hidden;
- @media (max-width: @on_modal_threshold) {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- }
- }
- &.z_menu-open {
- .menu-phone {
- transform: translate3d(-@gap, 0, 0);
- }
- }
-}
-
-fancybox{
- display: flex;
- justify-content: center;
-}
-.backstretch {
- // opacity: .75;
-}
-.cover-wrapper{
- padding-bottom: 2px;
- .cover{
- top: 0;
- left: 0;
- max-width: 100%;
- height: ~"calc(100vh)";
- display: flex;
- flex-wrap: nowrap;
- flex-direction: column;
- align-items: center;
- align-self: center;
- align-content: center;
- // padding: @gap;
- .title, .logo{
- font-size: @fontsize_h1*2;
- margin-top: ~"calc(28vh - 2*@{gap})";
- text-align: center;
- font-weight: bold;
- }
- .title{
- line-height: ~"calc(@{fontsize_h1}*2 + 2*@{gap})";
- }
- .logo{
- max-height: 100px;
- max-width: ~"calc(100% - 4*@{gap})";
- }
- @media(max-width: @on_phone){
- .title, .logo {
- font-size: @fontsize_h1*2;
- line-height: @fontsize_h1*2.2;
- }
- }
- .m_search{
- @iconW: 32px;
- @iconMargin: 4px;
- margin-top: ~"calc(2vh + 2*@{gap})";
- position: relative;
- max-width: ~"calc(100% - 1*@{gap})";
- width: 340px;
- // @media(max-width: @on_laptop){
- // width: 1.4*@width_sidebar_m;
- // }
- line-height: @height_navbar - @gap;
- vertical-align: middle;
- .form {
- position: relative;
- display: block;
- width: 100%;
- }
- .icon,.input{
- .enable-trans(.3s);
- }
- .icon {
- position: absolute;
- display:block;
- line-height: @searchbar_height_cover;
- height: @searchbar_height_cover;
- width: @iconW;
- top: 0;
- left: @iconMargin+1px;
- font-size: @fontsize_base;
- color: fade(@color_text_main, 60%);
- }
- .input {
- display: block;
- font-size: @fontsize_base;
- line-height: @fontsize_base;
- height: @searchbar_height_cover;
- width: 100%;
- color: @color_text_main;
- box-shadow: none;
- box-sizing: border-box;
- -webkit-appearance: none;
- padding-left: @iconW + @iconMargin;
- @media(max-width: @on_phone){
- padding-left: @iconW + @iconMargin;
- }
- border-radius: @height_navbar;
- background: lighten(@theme_cardbg, 10%);
- border: 1px dashed transparent;
- .set-placeholder({
- padding-top: 2px;
- color: fade(@color_text_main, 60%);
- });
- &:hover{
- ~.icon{
- color: @theme_main;
- }
- }
- &:focus {
- ~.icon{
- color: @theme_main;
- }
- border: 1px solid @theme_main;
- }
- }
-
- }
- &.half{
- height: ~"calc(60vh - @{gap} - @{height_navbar})";
- .title, .logo{
- margin-top: ~"calc(22vh - 4*@{gap})";
- }
- @media(max-width: @on_phone){
- height: ~"calc(45vh - @{gap} - @{height_navbar})";
- .title, .logo{
- margin-top: ~"calc(24vh - 6*@{gap})";
- }
- }
- .m_search{
- margin-top: @gap;
- }
- }
- &, a{
- color: @theme_main;
- }
- .menu{
- margin-top: @gap;
- ul {
- display: flex;
- flex-wrap: wrap;
- align-items: baseline;
- justify-content: center;
- li {
- display: flex;
- flex-wrap: wrap;
- align-items: center;
- padding: 0;
- height: auto;
- }
- }
- ul > li > a{
- font-size: @fontsize_small;
- padding: 2px;
- margin: 0 4px;
- .enable-trans();
- color: fade(@color_text_main, 85%);
- border-bottom: 1px solid transparent;
- &:hover, &.active{
- color: @theme_main;
- border-bottom: 1px solid @theme_main;
- }
- }
- }
- .switcher{
- & > li{
- a{
- &:hover {
- background: fade(@theme_main, 15%);
- }
- }
- }
- }
-
- }
-}
-
-
-
-.z-depth-nav {
- box-shadow: 0 1px 2px 0px rgba(0, 0, 0, 0.24), 0 3px 6px 0px rgba(0, 0, 0, 0.1);
-}
-.z-depth-nav-raised {
- box-shadow: @boxshadow_card_raised;
-}
-
-.z-depth-main {
- box-shadow: @boxshadow_card_normal;
-}
-
-.z-depth-main-raised {
- box-shadow: @boxshadow_card_raised;
-}
-
-.z-depth-0 {
- box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.07);
-}
-
-.z-depth-1 {
- box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08), 0 2px 4px 0 rgba(0, 0, 0, 0.1);
-}
-
-.z-depth-1-half {
- box-shadow: 0 2px 3px 0px rgba(0, 0, 0, 0.4), 0 0px 8px 0px rgba(0, 0, 0, 0.2);
-}
-
-.z-depth-2 {
- box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1), 0 3px 10px 0 rgba(0, 0, 0, 0.1);
-}
-
-.z-depth-3 {
- box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.12), 0 8px 25px 0 rgba(0, 0, 0, 0.1);
-}
-
-.z-depth-4 {
- box-shadow: 0 8px 14px 0 rgba(0, 0, 0, 0.11), 0 12px 22px 0 rgba(0, 0, 0, 0.11);
-}
-
-.z-depth-5 {
- box-shadow: 0 12px 12px 0 rgba(0, 0, 0, 0.1), 0 20px 33px 0 rgba(0, 0, 0, 0.11);
-}
-.z-depth-0 {
- box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.08), 0 2px 4px 0 rgba(0, 0, 0, 0.08);
-}
-
-.hoverable {
- .enable-trans();
- box-shadow: 0;
-}
-
-.hoverable:hover {
- .enable-trans();
- box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
-}
-
-::-moz-selection {
- background: @color_bg_selection;
-}
-
-::selection {
- background: @color_bg_selection;
-}
-// transition
-.enable-trans(@time: 0.25s){
- transition: all @time ease;
- -moz-transition: all @time ease;
- -webkit-transition: all @time ease;
- -o-transition: all @time ease;
-}
-
-.set-placeholder(@rules){
- &::-webkit-input-placeholder {@rules();}
- &:-moz-placeholder {@rules();}
- &::-moz-placeholder {@rules();}
- &:-ms-input-placeholder {@rules();}
-}
-
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
- -webkit-font-feature-settings: 'dlig' 1, 'liga' 1, 'lnum' 1, 'kern' 1;
- -moz-font-feature-settings: 'dlig' 1, 'liga' 1, 'lnum' 1, 'kern' 1;
- -o-font-feature-settings: 'dlig' 1, 'liga' 1, 'lnum' 1, 'kern' 1;
- text-rendering: geometricPrecision;
- margin: 0 0 0.4em 0;
-}
-
-h1 {
- font-size: @fontsize_h1;
-}
-
-h2 {
- font-size: @fontsize_h2;
-}
-
-h3 {
- font-size: @fontsize_h3;
-}
-
-h4 {
- font-size: @fontsize_h4;
-}
-
-h5 {
- font-size: @fontsize_h5;
-}
-
-h6 {
- font-size: @fontsize_h6;
-}
-
-a {
- color: @black;
- cursor: pointer;
- text-decoration: none;
- .enable-trans();
- &:hover {
- text-decoration: none;
- }
-}
-
-pre {
- tab-size: 4;
- -moz-tab-size: 4;
- -o-tab-size: 4;
- -webkit-tab-size: 4;
-}
-
-img {
- max-width: 100%;
-}
-
-
-/**
-* Util
-*/
-
-.clearfix {
- zoom: 1;
- &:before,
- &:after {
- content: " "; // 1
- display: table; // 2
- }
- &:after {
- clear: both;
- }
-}
-
-
-.hidden {
- text-indent: -9999px;
- visibility: hidden;
- display: none;
-}
-
-.inner {
- position: relative;
- width: 80%;
- max-width: 710px;
- margin: 0 auto;
-}
-
-.vertical {
- display: table-cell;
- vertical-align: middle;
-}
-
-.right {
- float: right;
-}
-
-.left {
- float: left;
-}
-
-.disable-trans {
- -moz-transition: none !important;
- -webkit-transition: none !important;
- transition: none !important;
-}
-
-.txt-ellipsis {
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-ul,
-ol {
- padding-left: 0;
-}
-
-li {
- list-style: none;
-}
-
-.mark {
- position: relative;
- a {
- color: @black;
- background: transparent;
- display: inline-block;
- padding: 0 8px;
- border-left: @border_radius_line solid transparent;
- background: transparent;
- border-radius: @border_radius_code_block;
- .enable-trans();
- &:hover {
- background: fade(@theme_main, 10%);
- border-left: @border_radius_line solid @theme_main;
- padding: 8px;
- }
- &:active {
- border-left: 2*@border_radius_line solid @theme_main;
- }
-
- }
-}
-
-ul.h-list {
- display: flex;
- align-items: center;
- height: 100%;
- &>li {
- // flex: none;
- height: 100%;
- justify-content: center;
- }
-}
-
-
-/**
- * Loading bar
- */
-
-#loading-bar-wrapper {
- position: fixed;
- top: @height_navbar - @loading_height;
- // top: 0;
- left: 0;
- width: 100%;
- // overflow: scroll;
- z-index: 99999;
-}
-
-#loading-bar {
- position: fixed;
- width: 0;
- height: @loading_height;
- // height: @height_navbar;
- .enable-trans();
- background-color: fade(white, 50%);
- &.pure{
- background-color: fade(@theme_main, 50%);
- }
-}
-
-.body-wrapper {
- position: relative;
- display: flex;
- width: 100%;
- max-width: @width_container;
- margin: 0 auto;
- flex-wrap: wrap;
- justify-content: space-between;
- align-items: stretch;
-}
-
-.container--flex {
- display: flex;
- flex-wrap: nowrap;
- justify-content: space-between;
- align-items: center;
-}
-
-.l_body {
- position: relative;
- margin: @gap;
- margin-top: @gap;
- &.nocover{
- margin-top: @gap + @height_navbar;
- }
- @media(max-width: @on_phone) {
- margin: @height_navbar + @gap 0 @gap;
- border-radius: 0;
- }
- // padding-top: -@gap/2;
- .s-top{
- .enable-trans(0.6s);
- z-index: 9;
- position: fixed;
- width: 48px;
- height: 48px;
- line-height: 48px;
- border-radius: 100%;
- bottom: @gap*2;
- right: @gap*2;
- transform: translateY(100px) scale(0);
- transform-origin: bottom;
- color: @color_text_main;
- @media(max-width: @on_pad) {
- right: @gap;
- }
- &.show{
- transform: translateY(0) scale(1);
- &.hl{
- background: @theme_main;
- color: white;
- box-shadow: @boxshadow_card_normal;
- }
- }
- @media(min-width: @on_pad) {
- &:hover{
- transform: scale(1.2);
- border-radius: 25%;
- background: @theme_main;
- color: white;
- box-shadow: @boxshadow_card_raised;
- &.hl{
- box-shadow: @boxshadow_card_raised;
- }
- }
- }
- }
-}
-
-.reveal {
- // visibility: hidden;
-}
diff --git a/themes/hexo-theme-material-x-master/source/less/_color.less b/themes/hexo-theme-material-x-master/source/less/_color.less
deleted file mode 100644
index 888c07d73955120eaf1a37495c5339afed2d9073..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/less/_color.less
+++ /dev/null
@@ -1,41 +0,0 @@
-// 如果你只想简单地换个风格,可以只改这里的几项:
-// 网页背景颜色
-@theme_background: #F4F4F4;
-// @theme_background: #454545; // 暗色主题
-// 主题色
-@theme_main: #1BC3FB;
-// 卡片背景颜色
-@theme_cardbg: white;
-// @theme_cardbg: #555; // 暗色主题
-
-
-
-
-// 如果你想更自由地定制颜色,可以修改这里的几项:
-
-// 背景色 ----------------
-// 导航栏背景,默认和主题色保持一致
-@color_bg_navbar: @theme_main;
-// 代码的背景色
-@color_bg_code: fade(@theme_main, 10%);
-// 代码块的背景色
-@color_bg_code_block: #F4FAFE;
-// 引用的颜色
-@color_bg_quote: @theme_main;
-// 选中部分文字的背景颜色
-@color_bg_selection: fade(@color_md_blue, 20%);
-
-// 文字颜色 ----------------
-// 标题文字颜色(h1/h2)
-@color_text_header: darken(@color_text_main, 5%);
-// 标题文字颜色(h3)
-@color_text_h3: darken(@theme_main, 5%);
-// 链接颜色
-@color_text_link: @theme_main;
-// 链接高亮颜色
-@color_text_highlight: @color_md_deep_orange;
-// 在主题色中显示的文本(一般为白或深灰)
-@color_text_in_header: white;
-// 正文文字颜色
-@color_text_main: @dark;
-// @color_text_main: white; // 暗色主题
diff --git a/themes/hexo-theme-material-x-master/source/less/_defines.less b/themes/hexo-theme-material-x-master/source/less/_defines.less
deleted file mode 100644
index 7708b282c59222db5397cc29e54e62398de89f89..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/less/_defines.less
+++ /dev/null
@@ -1,52 +0,0 @@
-// 颜色
-// Material color scheme
-@color_md_red: #f44336;
-@color_md_pink: #E91E63;
-@color_md_purple: #9c27b0;
-@color_md_deep_purple: #673ab7;
-@color_md_indigo: #3f51b5;
-@color_md_light_blue: #4BA7EE;
-@color_md_blue: #2196f3;
-@color_md_deep_blue: #3367d6;
-@color_md_teal: #009688;
-@color_md_green: #4caf50;
-@color_md_light_green: #8bc34a;
-@color_md_orange: #ff9800;
-@color_md_deep_orange: #ff5722;
-@color_md_brown: #795548;
-@color_md_blue_grey: #607d8b;
-@color_md_grey: #9e9e9e;
-@color_md_light_grey:#e0e0e0;
-@color_md_yellow: #FCEC60;
-@color_md_amber: #F6C344;
-// 基本不变的黑白灰
-@black: #444444;
-@color_grey: #828282;
-@white: #ffffff;
-@light: #eeeeee;
-@dark: #333333;
-// 这些颜色取自macOS
-@color_mac_maximize: #3DC550;
-@color_mac_minimize: #FFBD2B;
-@color_mac_close: #FE5F58;
-@color_mac_finder: #1BCDFC;
-// xx
-@color_light_green: #5CC281;
-@color_vue: #4fc08d;
-@color_yellow: #e96900;
-// 这些颜色由xaoxuu调配
-@color_ax_light_red: #FF6868;
-@color_ax_red: #F24E32;
-@color_ax_blue: #52A1F8;
-
-// 阴影
-@boxshadow_base_1: 0 1px 2px 0px rgba(0, 0, 0, 0.1);
-@boxshadow_base_2: 0 2px 4px 0px rgba(0, 0, 0, 0.1);
-@boxshadow_base_4: 0 4px 8px 0px rgba(0, 0, 0, 0.1);
-@boxshadow_base_8: 0 8px 16px 0px rgba(0, 0, 0, 0.1);
-@boxshadow_base_16: 0 16px 32px 0px rgba(0, 0, 0, 0.1);
-
-// 卡片正常状态的阴影
-@boxshadow_card_normal: @boxshadow_base_1, @boxshadow_base_2;
-// 卡片漂浮起来时的阴影
-@boxshadow_card_raised: @boxshadow_base_2, @boxshadow_base_4, @boxshadow_base_8, @boxshadow_base_16;
diff --git a/themes/hexo-theme-material-x-master/source/less/_fonts.less b/themes/hexo-theme-material-x-master/source/less/_fonts.less
deleted file mode 100644
index 013e942ef5745e06e06571c0ebe4caec42090f0b..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/less/_fonts.less
+++ /dev/null
@@ -1,39 +0,0 @@
-@font-face{
- font-family: 'Varela Round';
- src: url(https://cdn.jsdelivr.net/gh/xaoxuu/cdn-fonts@19.1.7/VarelaRound/VarelaRound-Regular.ttf);
- font-weight: normal;
- font-style: normal;
-}
-@font-face{
- font-family: 'Source Sans Pro';
- src: url(https://cdn.jsdelivr.net/gh/xaoxuu/cdn-fonts@master/SourceSansPro/SourceSansPro-Regular.ttf);
- font-weight: normal;
- font-style: normal;
-}
-
-// 大部分文字字体
-@fontfamily_base: 'Varela Round', "Microsoft YaHei", "Source Sans Pro", "Helvetica Neue", Menlo, Monaco, monospace, "Lucida Console", sans-serif, Helvetica, "Hiragino Sans GB", "Hiragino Sans GB W3", Source Han Sans CN Regular, WenQuanYi Micro Hei, Arial, sans-serif;
-// 代码字体
-@fontfamily_code: Menlo, Monaco, courier, monospace, "Lucida Console", 'Source Code Pro', "Microsoft YaHei", Helvetica, Arial, sans-serif, 'Ubuntu';
-// LOGO字体
-@fontfamily_logo: @fontfamily_base;
-
-
-// 字号
-// base
-@fontsize_base: 16px;
-@fontsize_small: @fontsize_base * 0.875;
-@fontsize_footnote: @fontsize_base * 0.7;
-@lineheight_base: 1.7;
-// title
-@fontsize_h1: @fontsize_base * 1.5;
-@fontsize_h2: @fontsize_base * 1.5;
-@fontsize_h3: @fontsize_base * 1.3;
-@fontsize_h4: @fontsize_base * 1.15;
-@fontsize_h5: @fontsize_base * 1;
-@fontsize_h6: @fontsize_small;
-// 文章列表中的标题
-@fontsize_list_title: @fontsize_base * 1.5;
-// 文章页的标题
-@fontsize_article_title: @fontsize_h2 * 1.2;
-@fontsize_article_title_phone: @fontsize_h2;
diff --git a/themes/hexo-theme-material-x-master/source/less/_footer.less b/themes/hexo-theme-material-x-master/source/less/_footer.less
deleted file mode 100644
index e558cffad72663c9328f37b8963d1c1a5a1b68d5..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/less/_footer.less
+++ /dev/null
@@ -1,52 +0,0 @@
-#footer {
- position: relative;
- padding: 40px 10px 120px 10px;
- width: 100%;
- color: fade(@color_text_main, 50%);
- margin: 0px auto;
- font-size: @fontsize_small;
- overflow: hidden;
- text-align: center;
- font-family: @fontfamily_base;
- .licenses {
- color: fade(@color_text_main, 50%);
- text-decoration: underline;
- }
- .codename {
- // color: @color_vue;
- text-decoration: underline;
- }
- .social-wrapper {
- display: flex;
- justify-content: center;
- flex-wrap: wrap;
- margin: 4px @gap/2;
- }
- a {
- color: fade(@color_text_main, 70%);
- padding: 0;
- .enable-trans();
- &:hover {
- color: @color_text_highlight;
- }
- &.social {
- position: relative;
- display: inline-block;
- text-align: center;
- display: flex;
- justify-content: center;
- align-items: center;
- width: 32px;
- height: 32px;
- margin: 4px;
- border-radius: 100px;
- &:hover {
- background: fade(@theme_main, 10%);
- color: @theme_main;
- }
- }
- }
- @media(max-width: @on_pad){
- justify-content: center;
- }
-}
diff --git a/themes/hexo-theme-material-x-master/source/less/_header.less b/themes/hexo-theme-material-x-master/source/less/_header.less
deleted file mode 100644
index 7a65698a70fa83809451b4123bb6384fc560789e..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/less/_header.less
+++ /dev/null
@@ -1,375 +0,0 @@
-.l_header {
- @iconW: 32px;
- @iconMargin: 4px;
- position: fixed;
- z-index: 9999;
- top: 0;
- overflow: hidden;
- width: 100%;
- font-size: @fontsize_base;
- line-height: @height_navbar;
- height: @height_navbar;
- overflow: hidden;
- font-family: @fontfamily_base;
- padding: 0 @gap;
- margin-bottom: @gap;
- .wrapper{
- padding: auto @gap;
- max-width: @width_container;
- margin: auto;
- .enable-trans();
- a.logo {
- color: @color_text_header;
- }
- }
- &.no_sidebar{
- .wrapper{
- max-width: @on_pad;
- margin: auto;
- }
- }
- .wrapper.sub{
- .enable-trans();
- transform: translateY(-@height_navbar);
- .logo{
- // padding-left: 0;
- @media(max-width: @on_phone){
- .enable-trans();
- padding-left: @gap;
- padding-right: 0;
- font-size: @fontsize_base;
- }
- }
- }
- .nav--main,.nav-sub{
- height: @height_navbar;
- }
- background: @color_bg_navbar;
- &.hide{
- transform: translateY(100px) scale(0);
- }
- &.show{
- transform: translateY(0) scale(1);
- }
- &, a{
- .txt-ellipsis;
- height: @height_navbar;
- line-height: @height_navbar;
- color: @color_text_in_header;
- }
- &:extend(.z-depth-nav); // 适合深色导航栏背景
-
- .enable-trans();
- &:hover {
- // &:extend(.z-depth-nav-raised);
- }
- &:active {
-
- }
- .logo {
- padding: 0 @gap*1.5;
- font-size: @fontsize_logo;
- font-family: @fontfamily_logo;
- @media(max-width: @on_phone){
- padding: 0 @gap;
- }
- &.img{
- padding: 0 @gap 0 0;
- }
- img{
- height: 100%;
- }
- letter-spacing: 0;
- }
- img.logo {
- padding: 4px 0;
- }
-
- .nav-sub{
- .logo {
- padding: 0 @gap*1.5;
- font-size: @fontsize_base;
- font-family: @fontfamily_base;
- @media(max-width: @on_phone){
- letter-spacing: -0.5px;
- padding-top: 1px;
- }
-
- }
- }
- .menu{
- position:relative;
- flex: 1 0 auto;
- height: @height_navbar;
- .enable-trans();
- margin: 0 @gap 0 0;
- ul > li > a{
- .enable-trans();
- display: block;
- font-size: @fontsize_base;
- color: fade(@color_text_in_header, 70%);
- padding: 0 8px;
- &:hover{
- color: @color_text_in_header;
- border-bottom: @loading_height solid @theme_cardbg;
- background: fade(@theme_cardbg, 10%);
- }
- &:active,&.active{
- color: @color_text_in_header;
- border-bottom: @loading_height solid @theme_cardbg;
- }
- }
- @media(max-width: @on_phone){
- display:none;
- }
- }
- .switcher{
- display: none;
- font-size: @fontsize_base;
- line-height: @height_navbar;
- .s-toc {
- display: none;
- }
- @media(max-width: @on_pad){
- .s-toc {
- display: block;
- }
- }
- & > li{
- height: @height_navbar - @gap;
- .enable-trans();
- margin: 2px;
- @height: @height_navbar - @gap;
- @media(max-width: @on_phone){
- margin: 0;
- height: @height;
- }
- a{
- display: flex;
- justify-content: center;
- align-items: center;
- width: @height;
- height: @height;
- border-radius: 100px;
- .enable-trans();
- &:hover {
- background: fade(@theme_cardbg, 30%);
- }
- @media(max-width: @on_phone){
- width: @iconW;
- height: @height;
- }
- }
- }
- @media(max-width: @on_phone){
- display: flex;
- padding-left: @gap/2;
- padding-right: @gap - 6px;
- }
- }
- .nav-sub .switcher{
- display: flex;
- }
- .m_search {
- position: relative;
- display: flex;
- width: @width_sidebar;
- height: @height_navbar;
- @media(max-width: @on_desktop){
- width: @width_sidebar_m;
- }
- .form {
- position: relative;
- display: block;
- width: 100%;
- margin: auto;
- }
- .icon,.input{
- .enable-trans(.3s);
- }
- .icon {
- position: absolute;
- display: block;
- line-height: @height_searchbar;
- height: @height_searchbar;
- width: @iconW;
- top: 0;
- left: @iconMargin+1px;
- font-size: @fontsize_base;
- color: fade(@color_text_in_header, 60%);
- }
- .input {
- display: block;
- font-size: @fontsize_base;
- line-height: @fontsize_base;
- height: @height_searchbar;
- width: 100%;
- color: fade(@color_text_in_header, 60%);
- box-shadow: none;
- box-sizing: border-box;
- -webkit-appearance: none;
- padding-left: @iconW + @iconMargin;
- @media(max-width: @on_phone){
- padding-left: @iconW + @iconMargin;
- }
- border-radius: @border_radius_searchbar;
- background: fade(@theme_cardbg, 15%);
- border: 1px dashed transparent;
- .set-placeholder({
- padding-top: 2px;
- color: fade(@color_text_in_header, 60%);
- });
- &:hover{
- color: @color_text_in_header;
- border: 1px solid fade(@color_text_in_header, 60%);
- }
- &:focus {
- ~.icon{
- color: @color_text_in_header;
- }
- color: @color_text_in_header;
- border: 1px solid @color_text_in_header;
- }
- }
- }
- &.pure{
- background: @theme_cardbg;
- &, a{
- color: @theme_main;
- }
- box-shadow: @boxshadow_card_normal; // 适合白色导航栏背景
- // box-shadow: none;
- // background: transparent;
- // .wrapper{
- // background: @theme_cardbg;
- // box-shadow: @boxshadow_card_normal; // 适合白色导航栏背景
- // }
- .menu{
- ul > li > a{
- .enable-trans();
- color: fade(@color_text_main, 85%);
- &.current{
- border-bottom: @loading_height solid fade(@theme_main, 80%);
- }
- &:hover{
- color: @theme_main;
- border-bottom: @loading_height solid @theme_main;
- background: fade(@theme_main, 10%);
- }
- &:active,&.active{
- color: @theme_main;
- border-bottom: @loading_height solid @theme_main;
- }
- }
- }
- .switcher{
- & > li{
- a{
- &:hover {
- background: fade(@theme_main, 15%);
- }
- }
- }
- }
- .m_search {
- .icon{
- color: fade(@color_text_main, 60%);
- }
- .input {
- color: @color_text_main;
- background: @theme_background;
- .set-placeholder({
- color: fade(@color_text_main, 60%);
- });
- &:hover{
- ~.icon{
- color: fade(@theme_main, 80%);
- }
- border: 1px solid fade(@theme_main, 60%);
- }
- &:focus {
- ~.icon{
- color: @theme_main;
- }
- color: @color_text_main;
- background: fade(@theme_main, 15%);
- border: 1px solid @theme_main;
- }
- }
- }
- }
- @media (max-width: @on_phone) {
- padding: 0;
- .m_search{
- width:0;
- overflow: hidden;
- position: absolute;
- .enable-trans();
- margin: 0 @gap/2;
- }
- &.z_search-open{
- .logo{
- opacity:0;
- }
- .m_search{
- width: ~"calc(100vw - 2*@{gap} - 2*@{iconW})";
- }
- }
- }
-}
-
-.menu-phone{
- .header{
- border-top-left-radius: @border_radius;
- border-top-right-radius: @border_radius;
- background-color: fade(@color_bg_navbar,90%);
- color: @color_text_in_header;
- font-size: @fontsize_base;
- line-height: 1.8em;
- padding: 8px @gap+6px;
- }
- position: fixed;
- top: @height_navbar + @gap;
- right: 0;
- z-index:9999 + 1;
- line-height: 2 * @gap;
- background: white;
- border-right: 0;
- box-shadow: @boxshadow_card_raised;
- border-radius: @border_radius;
- transform: translate3d(-40px, -40px, 0) scale(0,0);
- transform-origin: right top;
- .enable-trans();
- &:hover {
- box-shadow: @boxshadow_card_raised;
- }
- &:active {
- box-shadow: @boxshadow_card_normal;
- }
- nav {
- padding: @gap/2 0px;
- .nav {
- height: @height_cell;
- line-height: @height_cell;
- position: relative;
- display: block;
- color: @black;
- padding: 2px 20px;
- border-left: 4px solid transparent;
- border-right: 4px solid transparent;
- &:hover,&.active{
- border-left: 4px solid @theme_main;
- background: fade(@theme_main, 10%);
- }
- }
- }
-}
-.cover-wrapper{
- .l_header{
- .enable-trans(0.5s);
- transform: translateY(-1.5*@height_navbar);
- &.show{
- transform: translateY(0);
- }
- }
-}
diff --git a/themes/hexo-theme-material-x-master/source/less/_layout.less b/themes/hexo-theme-material-x-master/source/less/_layout.less
deleted file mode 100644
index d5e42ee1452933ba1b08fcaa7e2c83d600f2d1f8..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/less/_layout.less
+++ /dev/null
@@ -1,52 +0,0 @@
-// start: 间距 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-@gap: 16px;
-// end: 间距 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-
-
-// start: 布局尺寸 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-@on_phone: 580px;
-@on_pad: 768px;
-@on_laptop: 1024px; // 1024 + 285
-@on_desktop: 1350px;
-// container
-@width_container: 1080px;
-@on_modal_threshold: 680px;
-// 侧边栏宽度
-@width_sidebar: 285px;
-@width_sidebar_m: 240px;
-// 搜索框的宽度,建议和侧边栏宽度保持一致
-@width_searchbar: @width_sidebar;
-@width_searchbar_m: @width_sidebar_m;
-// 搜索框的高度,建议不要超出导航栏的高度
-@height_searchbar: 40px;
-@searchbar_height_cover: 44px;
-// 一个cell的高度
-@height_cell: 36px;
-// end: 布局尺寸 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-
-
-// start: 导航栏 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-// 导航栏高度
-@height_navbar: 64px;
-@fontsize_logo: @fontsize_base * 1.2;
-@fontsize_header_switcher: 1.3em;
-@fontsize_header: 1em;
-// 定位条和页面加载的进度条的高度
-@loading_height: 2px;
-// end: 导航栏 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-
-
-// start: 圆角 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-@border_radius: 12px; // 圆角半径,可以根据心情随时调整风格
-@border_radius_line: 4px; // 线的宽度和滚动条的宽度
-@border_radius_code_block: 4px; // 引用、代码块的圆角
-
-@border_radius_searchbar: 8px; // 搜索框的圆角半径,可以根据心情随时调整风格
-// end: 圆角 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-
-
-// start: 文字对齐方向 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-@text_align_h1: left;
-@text_align_h2: left;
-@text_align_h3: left;
-// end: 文字对齐方向 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
diff --git a/themes/hexo-theme-material-x-master/source/less/_links.less b/themes/hexo-theme-material-x-master/source/less/_links.less
deleted file mode 100644
index 895d29a0beae2e56b8a0b1ede2ba17cef5db395d..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/less/_links.less
+++ /dev/null
@@ -1,125 +0,0 @@
-.article.typo.l_friends{
- .friends-group{
- h2{
- font-size: @fontsize_h3;
- }
- .friend-content{
- display: flex;
- flex-wrap: wrap;
- margin: -@gap/2;
- border-radius: @border_radius;
- .friend-card{
- display: flex;
- border-radius: @border_radius;
- box-shadow: @boxshadow_card_normal;
- background: #eee;
- margin: @gap/2;
- color: fade(@color_text_main, 80%);
- justify-content: flex-start;
- align-content: flex-start;
- flex-direction: column;
- border: 1px solid transparent;
- width:~"calc(100%/3 - @{gap})";
- @media(max-width: @on_laptop){
- width:~"calc(100%/3 - @{gap})";
- }
- @media(max-width: @on_pad){
- width:~"calc(100%/2 - @{gap})";
- }
- @media(max-width: @on_phone){
- width: 100%;
- margin: 0 @gap/4;
- border-radius: 0;
- flex-direction: row;
- &:first-child{
- border-top-left-radius: @border_radius;
- border-top-right-radius: @border_radius;
- }
- &:last-child{
- border-bottom-left-radius: @border_radius;
- border-bottom-right-radius: @border_radius;
- }
- }
- &:hover{
- text-decoration: none;
- box-shadow: @boxshadow_card_raised, 0 32px 64px 0px rgba(0, 0, 0, 0.1);
- transform: scale(1.05);
- border-radius: @border_radius;
- @media(max-width: @on_phone){
- transform: scale(1.02);
- margin: @gap/2 0;
- }
- .friend-left{
- .avatar{
- transform: scale(1.2) rotate(12deg);
- box-shadow: @boxshadow_card_raised;
- // border: 2px solid transparent;
- }
- }
-
- }
- .friend-left{
- display: flex;
- align-self: center;
- .avatar{
- width: 64px;
- height: 64px;
- min-width: 64px;
- min-height: 64px;
- margin: @gap @gap/2 @gap/4 @gap/2;
- border-radius: 100%;
- border: 0px solid transparent;
- // box-shadow: @boxshadow_card_normal;
- @media(max-width: @on_phone){
- margin: @gap;
- }
- }
- }
- .friend-right{
- margin: @gap/4 @gap/2;
- display: flex;
- // flex: 1;
- flex-direction: column;
- text-align: center;
- p{
- text-align: center;
- }
- @media(max-width: @on_phone){
- margin: @gap @gap @gap 0;
- text-align: left;
- p{
- text-align: left;
- }
- }
- .friend-tags-wrapper{
- .enable-trans();
- margin-left: -2px;
- word-break:break-all;
- margin-bottom: @gap/2;
- @media(max-width: @on_phone){
- margin-bottom: 0;
- }
- }
- p{
- margin: 0;
- text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
- &.friend-name{
- font-family: @fontfamily_logo;
- font-size: @fontsize_base;
- font-weight: bold;
- padding-top: 4px;
- }
- &.tags{
- font-size: @fontsize_small * 0.85;
- display: inline;
- background: none;
- word-wrap: break-word;
- padding-right: 4px;
- }
- }
- }
- }
- }
-
- }
-}
diff --git a/themes/hexo-theme-material-x-master/source/less/_main.less b/themes/hexo-theme-material-x-master/source/less/_main.less
deleted file mode 100644
index e3bb00a423edfbb31e88409e7cce90935a3f1d0a..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/less/_main.less
+++ /dev/null
@@ -1,595 +0,0 @@
-.l_main {
- width: ~"calc(100% - 1 * @{width_sidebar})";
- @media(max-width: @on_desktop) {
- width: ~"calc(100% - 1 * @{width_sidebar_m})";
- }
- @media(max-width: @on_pad) {
- width: 100%;
- }
- padding-right: @gap;
- &.no_sidebar{
- width: 100%;
- padding-right: 0;
- max-width: @on_pad;
- margin: auto;
- ~.l_side{
- display: none;
- }
- }
- float: left;
- .post-list {
- position: relative;
- margin: 0px auto;
- // columns: 400px;
- column-gap: 0;
- @media(max-width: @on_phone) {
- margin: 0;
- }
- }
- ul.popular-posts{
- h3{
- padding: 0;
- margin: 0;
- font-size: @fontsize_base;
- }
- }
- #comments {
- position: relative;
- // padding-top: 1.5*@gap;
- @media(max-width: @on_phone) {
- // padding-top: @gap;
- }
- #valine_container{
- p{
- line-height: @lineheight_base;
- }
- img {
- display: inline;
- }
- .info{
- // display: none;
- }
- .vwrap{
- border-radius: @border_radius;
- border-style: dashed;
- border: 1px dashed fade(@color_text_main, 30%);
- .enable-trans();
- &:hover{
- border: 1px dashed fade(@theme_main, 100%);
- }
- .vheader{
- .vinput{
- border-radius: 0;
- border-bottom: 1px dashed fade(@color_text_main, 30%);
- &:hover{
- border-bottom: 1px dashed @theme_main;
- }
- &:focus{
- border-bottom: 1px solid @theme_main;
- }
- }
- }
-
- .vedit .vctrl span {
- color: @theme_main;
- padding: 0;
- margin: 10px;
- }
-
- }
- button{
- border: none;
- padding-left: 2.4em;
- padding-right: 2.4em;
- font-weight: bold;
- background-color: @theme_main;
- color: @color_text_in_header;
- border-radius: @border_radius/2;
- .enable-trans();
- &:hover {
- background: darken(@theme_main, 10%);
- }
- &:active {
- // background: lighten(@theme_main, 20%);
- }
- }
- blockquote{
- padding: @gap;
- border-left: @border_radius_line solid @color_bg_quote;
- // border-radius: @border_radius_code_block;
- .enable-trans();
- p{
- text-align: left;
- word-wrap: normal;
- margin: 0;
- font-size: @fontsize_small;
- line-height: @fontsize_small * 1.5;
- }
- }
- pre code{
- border: none;
- }
- code{
- font-family: @fontfamily_code;
- font-size: @fontsize_base * .8;
- color: fade(@color_text_main, 90%);
- }
- a, .vemoji-btn, .vpreview-btn{
- color: @color_text_link;
- .enable-trans();
- &:hover {
- color: @color_text_highlight;
- text-decoration: underline;
- }
- &:active {
- color: darken(@color_text_highlight, 25%);
- }
- }
- .vhead{
- span{
- &.vnick{
- color: fade(@color_text_main, 90%);
- }
- }
- a{
- &.vnick{
- color: #ff9800;
- font-weight: bold;
- &:hover {
- color: @color_text_highlight;
- text-decoration: underline;
- }
- }
- }
- .vsys{
- margin: 2px;
- padding: 1px 8px;
- background-color: fade(@color_text_main, 10%);
- }
-
- }
- .vcard{
- .vquote{
- border-left: none;
- }
- .vh {
- border-bottom: 1px dashed fade(@color_text_main, 10%);
- }
- }
- .vmeta{
- .vat{
- font-weight: bold;
- color: @theme_main;
- .enable-trans();
- &:hover {
- color: @color_text_highlight;
- text-decoration: underline;
- }
- &:active {
- color: darken(@color_text_highlight, 25%);
- }
- }
- }
- .vinput{
- color: @color_text_main;
- }
- p{
- color: @color_text_main;
- }
- }
- .vemojis{
- justify-content: space-between;
- i{
- width: auto;
- height: 36px;
- padding: 0;
- margin: 8px 8px 0 8px;
- #emoji{
- height: 24px;
- margin-top: 6px;
- background: transparent;
- }
- }
- }
- p{
- #emoji{
- display: inline;
- max-height: 28px;
- background: transparent;
- }
- }
- }
- .post-wrapper{
- // for firefox
- column-break-inside: avoid;
- break-inside: avoid-column;
- }
- .mobile-post() {
- .post {
- .meta {
- margin-bottom: @gap;
- .title {
- font-size: @fontsize_article_title_phone;
- }
- }
- .full-width {
- margin-left: -@gap;
- margin-right: -@gap;
- padding-left: @gap;
- padding-right: @gap;
- width:~"calc(100% + 2 * @{gap})"
- }
- .auto-padding {
- padding-left: @gap;
- padding-right: @gap;
- border-bottom-left-radius: @border_radius;
- border-bottom-right-radius: @border_radius;
- overflow: auto;
- }
- .highlight{
- margin-left: 0*@gap;
- margin-right: 0*@gap;
- width:~"calc(100% - 0 * @{gap})";
- }
- @media(max-width:@on_phone) {
- padding: 1.5*@gap @gap;
- .highlight {
- margin-left: 0*@gap;
- margin-right: 0*@gap;
- width:~"calc(100% - 0 * @{gap})";
- }
- .auto-padding {
- // padding-left: @gap;
- border-bottom-left-radius: 0;
- border-bottom-right-radius: 0;
- }
- }
-
- }
- }
- .post-wrapper {
- margin-bottom: @gap;
- .post {
- .meta {
- margin-bottom: @gap;
- .title {
- font-size: @fontsize_list_title;
- a {
- font-size: @fontsize_list_title;
- }
- }
- }
- .full-width {
- margin-left: -1.5*@gap;
- margin-right: -1.5*@gap;
- width:~"calc(100% + 3 * @{gap})"
- }
- .auto-padding {
- padding-left: 1.5*@gap;
- padding-right: 1.5*@gap;
- border-bottom-left-radius: @border_radius;
- border-bottom-right-radius: @border_radius;
- overflow: auto;
- }
- }
- .tags {
- margin-bottom: -2*@gap;
- }
- @media(max-width:@on_phone) {
- .tags {
- margin-bottom: -1.5*@gap;
- }
- .mobile-post();
- }
-
- }
- .widget{
- @media(max-width: @on_phone) {
- border-radius: 0;
- margin-left: 0;
- margin-right: 0;
- width: auto;
- &:hover {
- box-shadow: @boxshadow_card_normal;
- }
- }
- }
- .post {
- position: relative;
- margin: @gap auto;
- padding: 2*@gap 1.5*@gap;
- background: @theme_cardbg;
- border-radius: @border_radius;
- h1{
- font-weight: normal;
- font-size: @fontsize_article_title;
- line-height: @lineheight_base;
- color: @color_text_main;
- }
- &:extend(.z-depth-main);
- .enable-trans();
- &:hover {
- box-shadow: @boxshadow_card_raised;
- }
- &:active {
- box-shadow: @boxshadow_card_normal;
- }
- @media(max-width: @on_phone) {
- border-radius: 0;
- &:hover {
- box-shadow: @boxshadow_card_normal;
- }
- }
- .tags a{
- color: fade(@color_text_main, 70%);
- }
- .meta {
- color: fade(@color_text_main, 70%);
- header-meta{
- margin-top: 0;
- margin-bottom: 1*@gap;
- }
- footer-meta{
- margin-top: 2*@gap;
- margin-bottom: 0.5*@gap;
- }
- font-size: @fontsize_small * .95;
- .aplayer,.thumbnail{
- .enable-trans();
- width: 65px;
- height: 65px;
- border-radius: 100%;
- float: right;
- margin: 4px;
- box-shadow: @boxshadow_card_normal;
- &:hover {
- border-radius: 25%;
- transform: scale(1.1);
- box-shadow: @boxshadow_card_raised;
- }
- @media(max-width: @on_phone) {
- &:hover {
- border-radius: 100%;
- transform: scale(1);
- box-shadow: @boxshadow_card_normal;
- }
- }
- }
- .thumbnail{
- width: auto;
- border-radius: 4px;
- box-shadow: none;
- &:hover {
- border-radius: 4px;
- transform: scale(1.1) rotate(4deg);
- box-shadow: none;
- }
- }
- .title {
- // left: 0;
- text-align: @text_align_h1;
- font-size: @fontsize_article_title;
- margin: 0;
- @media(max-width: @on_phone) {
- font-size: @fontsize_article_title_phone;
- }
- &:before {
- // content: "#";
- }
- a {
- display: inline;
- line-height: @lineheight_base;
- font-weight: normal;
- color: @color_text_main;
- text-decoration: none;
- font-size: @fontsize_article_title;
- @media(max-width: @on_phone) {
- font-size: @fontsize_article_title_phone;
- }
- &:hover {
- color: @color_text_highlight;
- }
- }
- }
- @cellH: 28px;
- .new-meta-box{
- @metaH: 24px;
- .enable-trans();
- padding-top: 4px;
- padding-bottom: 8px;
- display: flex;
- align-items: center;
- flex-wrap: wrap;
- .new-meta-item{
- color: fade(@color_text_main, 70%);
- font-size: @fontsize_small * 1;
- line-height: @metaH;
- .notlink{
- cursor: default;
- &:hover{
- color: fade(@color_text_main, 70%);
- p{
- color: fade(@color_text_main, 70%);
- }
- }
- }
- display: flex;
- align-items: center;
- justify-content: center;
- padding: 2px;
- margin: 0 8px 0 0;
- border-radius: 4px;
- &:last-child{
- margin-right: 0;
- }
- img,i{
- border-radius: 100%;
- display: inline;
- }
- i{
- margin-right: 4px;
- border-radius: 0;
- &.fa-hashtag{
- margin-right: 1px;
- }
- }
- p,a{
- color: fade(@color_text_main, 70%);
- padding-left: 0;
- padding-right: 4px;
- }
- a{
- font-family: @fontfamily_base;
- display: flex;
- justify-content: center;
- align-items: center;
- img{
- height: @metaH - 7px;
- width: @metaH - 7px;
- margin-right: 5px;
- transform: translateY(-1px);
- }
- p{
- margin: 0;
- padding-top: 2px;
- font-weight: normal;
- .enable-trans();
- }
- &:hover{
- color: @color_text_highlight;
- p{
- color: @color_text_highlight;
- }
- text-decoration: none;
- }
- }
- }
- .share-body{
- height: @metaH - 2px;
- display: flex;
- a{
- padding: 0;
- margin-right: 4px;
- img{
- height: @metaH - 2px;
- width: auto;
- background: transparent;
- }
- }
- }
-
- }
-
- }
- .full-width,.highlight{
- margin-left: 0*@gap;
- margin-right: 0*@gap;
- width:~"calc(100% - 0 * @{gap})";
- }
-
- img {
- display: flex;
- justify-content: center;
- align-items: center;
- max-width: 100%;
- border-radius: 4px;
- background: none;
- }
- span img{
- display: inline-block;
- }
- a {
- img{
- display: inline;
- }
- }
- }
- @media(max-width:@on_pad) {
- padding-right: 0;
- @media(max-width: @on_phone) {
- width: 100%;
- }
- .mobile-post();
- }
-
- .prev-next{
- width: 100%;
- display: flex;
- justify-content: space-between;
- align-items: baseline;
- color: fade(@color_text_main, 50%);
- margin: 0;
- .prev{
- text-align: left;
- border-top-right-radius: 32px;
- border-bottom-right-radius: 32px;
- }
- .next{
- text-align: right;
- border-top-left-radius: 32px;
- border-bottom-left-radius: 32px;
- }
- p{
- margin: @gap;
- }
- a{
- color: fade(@color_text_link, 90%);
- }
- section{
- color: fade(@color_text_main, 80%);
- padding: @gap;
- border-radius: @border_radius;
- &:hover {
- color: @color_text_highlight;
- }
- }
- @media(max-width:@on_phone) {
- section{
- border-radius: 0;
- }
- }
-
- }
-
-}
-
-.alert {
- display: none;
- position: fixed;
- top: 50%;
- left: 50%;
- transform: translate(-50%,-50%);
- z-index: 99999;
- text-align: center;
- padding: 24px 36px;
- border-radius: @border_radius_code_block;
- box-shadow: @boxshadow_card_normal;
- font-family: @fontfamily_base;
- font-weight: bold;
- font-size: @fontsize_base;
-
- &.alert-success {
- color: #3c763d;
- background-color: #dff0d8;
- border-color: #d6e9c6;
- }
-
- &.alert-info {
- color: #31708f;
- background-color: #d9edf7;
- border-color: #bce8f1;
- }
-
- &.alert-warning {
- color: #8a6d3b;
- background-color: #fcf8e3;
- border-color: #faebcc;
- }
-
- &.alert-danger {
- color: #a94442;
- background-color: #f2dede;
- border-color: #ebccd1;
- }
-
-}
diff --git a/themes/hexo-theme-material-x-master/source/less/_normalize.less b/themes/hexo-theme-material-x-master/source/less/_normalize.less
deleted file mode 100644
index 550307249873074e5134a0dd0db240b06ca7ec6d..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/less/_normalize.less
+++ /dev/null
@@ -1,446 +0,0 @@
-/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
-
-/**
- * 1. Set default font family to sans-serif.
- * 2. Prevent iOS text size adjust after orientation change, without disabling
- * user zoom.
- */
-
-html {
- font-family: sans-serif; /* 1 */
- -ms-text-size-adjust: 100%; /* 2 */
- -webkit-text-size-adjust: 100%; /* 2 */
-}
-
-/**
- * Remove default margin.
- */
-
-body {
- margin: 0;
-}
-
-/* HTML5 display definitions
- ========================================================================== */
-
-/**
- * Correct `block` display not defined for any HTML5 element in IE 8/9.
- * Correct `block` display not defined for `details` or `summary` in IE 10/11
- * and Firefox.
- * Correct `block` display not defined for `main` in IE 11.
- */
-
-article,
-aside,
-details,
-figcaption,
-figure,
-footer,
-header,
-hgroup,
-main,
-menu,
-nav,
-section,
-summary {
- display: block;
-}
-
-/**
- * 1. Correct `inline-block` display not defined in IE 8/9.
- * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
- */
-
-audio,
-canvas,
-progress,
-video {
- display: inline-block; /* 1 */
- vertical-align: baseline; /* 2 */
-}
-
-/**
- * Prevent modern browsers from displaying `audio` without controls.
- * Remove excess height in iOS 5 devices.
- */
-
-audio:not([controls]) {
- display: none;
- height: 0;
-}
-
-/**
- * Address `[hidden]` styling not present in IE 8/9/10.
- * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
- */
-
-[hidden],
-template {
- display: none;
-}
-
-/* Links
- ========================================================================== */
-
-/**
- * Remove the gray background color from active links in IE 10.
- */
-
-a {
- background-color: transparent;
-}
-
-/**
- * Improve readability when focused and also mouse hovered in all browsers.
- */
-
-a:active,
-a:hover {
- outline: 0;
-}
-
-/* Text-level semantics
- ========================================================================== */
-
-/**
- * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
- */
-
-abbr[title] {
- border-bottom: 1px dotted;
-}
-
-/**
- * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
- */
-
-b,
-strong {
- font-weight: bold;
-}
-
-/**
- * Address styling not present in Safari and Chrome.
- */
-
-dfn {
- font-style: italic;
-}
-
-/**
- * Address variable `h1` font-size and margin within `section` and `article`
- * contexts in Firefox 4+, Safari, and Chrome.
- */
-
-h1 {
- font-size: 2em;
- margin: 0.67em 0;
-}
-
-/**
- * Address styling not present in IE 8/9.
- */
-
-mark {
- background: #ff0;
- color: #000;
-}
-
-/**
- * Address inconsistent and variable font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/**
- * Prevent `sub` and `sup` affecting `line-height` in all browsers.
- */
-
-sub,
-sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline;
-}
-
-sup {
- top: -0.5em;
-}
-
-sub {
- bottom: -0.25em;
-}
-
-/* Embedded content
- ========================================================================== */
-
-/**
- * Remove border when inside `a` element in IE 8/9/10.
- */
-
-img {
- border: 0;
-}
-
-/**
- * Correct overflow not hidden in IE 9/10/11.
- */
-
-svg:not(:root) {
- overflow: hidden;
-}
-
-/* Grouping content
- ========================================================================== */
-
-/**
- * Address margin not present in IE 8/9 and Safari.
- */
-
-figure {
- margin: 1em 40px;
-}
-
-/**
- * Address differences between Firefox and other browsers.
- */
-
-hr {
- -moz-box-sizing: content-box;
- box-sizing: content-box;
- height: 0;
- border: 0;
- border-radius: 1px;
- border-bottom: 1px solid fade(@color_text_main, 10%);
-}
-
-/**
- * Contain overflow in all browsers.
- */
-
-pre {
- overflow: auto;
-}
-
-/**
- * Address odd `em`-unit font size rendering in all browsers.
- */
-
-code,
-kbd,
-pre,
-samp {
- font-family: monospace, monospace;
- font-size: 1em;
-}
-
-/* Forms
- ========================================================================== */
-
-/**
- * Known limitation: by default, Chrome and Safari on OS X allow very limited
- * styling of `select`, unless a `border` property is set.
- */
-
-/**
- * 1. Correct color not being inherited.
- * Known issue: affects color of disabled elements.
- * 2. Correct font properties not being inherited.
- * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
- */
-
-button,
-input,
-optgroup,
-select,
-textarea {
- color: inherit; /* 1 */
- font: inherit; /* 2 */
- margin: 0; /* 3 */
-}
-
-/**
- * Address `overflow` set to `hidden` in IE 8/9/10/11.
- */
-
-button {
- overflow: visible;
-}
-
-/**
- * Address inconsistent `text-transform` inheritance for `button` and `select`.
- * All other form control elements do not inherit `text-transform` values.
- * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
- * Correct `select` style inheritance in Firefox.
- */
-
-button,
-select {
- text-transform: none;
-}
-
-/**
- * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
- * and `video` controls.
- * 2. Correct inability to style clickable `input` types in iOS.
- * 3. Improve usability and consistency of cursor style between image-type
- * `input` and others.
- */
-
-button,
-html input[type="button"], /* 1 */
-input[type="reset"],
-input[type="submit"] {
- -webkit-appearance: button; /* 2 */
- cursor: pointer; /* 3 */
-}
-
-/**
- * Re-set default cursor for disabled elements.
- */
-
-button[disabled],
-html input[disabled] {
- cursor: default;
-}
-
-/**
- * Remove inner padding and border in Firefox 4+.
- */
-
-button::-moz-focus-inner,
-input::-moz-focus-inner {
- border: 0;
- padding: 0;
-}
-
-/**
- * Address Firefox 4+ setting `line-height` on `input` using `!important` in
- * the UA stylesheet.
- */
-
-input {
- line-height: normal;
-}
-
-/**
- * It's recommended that you don't attempt to style these elements.
- * Firefox's implementation doesn't respect box-sizing, padding, or width.
- *
- * 1. Address box sizing set to `content-box` in IE 8/9/10.
- * 2. Remove excess padding in IE 8/9/10.
- */
-
-input[type="checkbox"],
-input[type="radio"] {
- box-sizing: border-box; /* 1 */
- padding: 0; /* 2 */
-}
-
-/**
- * Fix the cursor style for Chrome's increment/decrement buttons. For certain
- * `font-size` values of the `input`, it causes the cursor style of the
- * decrement button to change from `default` to `text`.
- */
-
-input[type="number"]::-webkit-inner-spin-button,
-input[type="number"]::-webkit-outer-spin-button {
- height: auto;
-}
-
-/**
- * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
- * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
- * (include `-moz` to future-proof).
- */
-
-input[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- -moz-box-sizing: content-box;
- -webkit-box-sizing: content-box; /* 2 */
- box-sizing: content-box;
-}
-
-/**
- * Remove inner padding and search cancel button in Safari and Chrome on OS X.
- * Safari (but not Chrome) clips the cancel button when the search input has
- * padding (and `textfield` appearance).
- */
-
-input[type="search"]::-webkit-search-cancel-button,
-input[type="search"]::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * Define consistent border, margin, and padding.
- */
-
-fieldset {
- border: 1px solid #c0c0c0;
- margin: 0 2px;
- padding: 0.35em 0.625em 0.75em;
-}
-
-/**
- * 1. Correct `color` not being inherited in IE 8/9/10/11.
- * 2. Remove padding so people aren't caught out if they zero out fieldsets.
- */
-
-legend {
- border: 0; /* 1 */
- padding: 0; /* 2 */
-}
-
-/**
- * Remove default vertical scrollbar in IE 8/9/10/11.
- */
-
-textarea {
- overflow: auto;
-}
-
-/**
- * Don't inherit the `font-weight` (applied by a rule above).
- * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
- */
-
-optgroup {
- font-weight: bold;
-}
-
-/* Tables
- ========================================================================== */
-
-/**
- * Remove most spacing between table cells.
- */
-
-table {
- border-collapse: collapse;
- width: 100%;
- th {
- background-color: lighten(@theme_background, 1%);
- }
- td,
- th {
- text-align: justify;
- padding: 4px 8px;
- border: 1px solid @theme_background;
- }
- tr {
- // border-bottom: 2px solid #eee;
- // background-color: @theme_main;
- }
- &>thead>th {
- // border-bottom-width: 2px;
- }
-}
-
-td,
-th {
- padding: 0;
-}
diff --git a/themes/hexo-theme-material-x-master/source/less/_pagination.less b/themes/hexo-theme-material-x-master/source/less/_pagination.less
deleted file mode 100644
index e6737ab5507b0851b3b6f2f510197cde2d4423da..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/less/_pagination.less
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Pagination */
-
-#page-nav {
- position: relative;
- width: 100%;
- padding: 20px 0px;
-
- .page-number,
- .space {
- display: none;
- }
- .next,
- .prev {
- font-size: 0.8125em;
- font-weight: normal;
- color: lighten(@black, 40%);
- border-radius: 2px;
-
- &:hover {
- color: @black;
- }
- span {
- line-height: 20px;
- vertical-align: middle;
-
- &.icon {
- position: relative;
- top: 1px;
- }
- }
- }
- .next {
- float: right;
- padding: 0 7px 2px 10px;
- }
- .prev {
- float: left;
- padding: 0 10px 2px 7px;
- }
-}
diff --git a/themes/hexo-theme-material-x-master/source/less/_search.less b/themes/hexo-theme-material-x-master/source/less/_search.less
deleted file mode 100644
index eeb07bdd0c79d8102047120bb6c16850bdd2e91b..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/less/_search.less
+++ /dev/null
@@ -1,310 +0,0 @@
-#u-search {
- display: none;
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- padding: 60px 20px;
- z-index: 999999;
-
- @media (max-width: @on_modal_threshold) {
- padding: 0px;
- }
- .modal {
- position: fixed;
- height: 80%;
- width: 100%;
- max-width: 640px;
- left: 50%;
- top: 0;
- margin: 64px 0px 0px -320px;
- background: #fff;
- box-shadow: 0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12);
- z-index: 3;
- border-radius: @border_radius;
- overflow: hidden;
- @media (max-width: @on_modal_threshold) {
- box-shadow: none;
- max-width: none;
- top: 0;
- left: 0;
- margin: 0;
- height: 100%;
- border-radius: 0;
- }
-
- .modal-ajax-content {
- opacity: 0;
- visibility: hidden;
- .enable-trans();
-
- &.loaded {
- opacity: 1;
- visibility: visible;
- }
- }
- .modal-header {
- position: relative;
- width: 100%;
- height: @height_navbar;
- background-color: @color_bg_navbar;
- z-index: 3;
- border-top-left-radius: @border_radius;
- border-top-right-radius: @border_radius;
- @media (max-width: @on_modal_threshold) {
- padding: 0px;
- border-radius: 0;
- }
- &:extend(.z-depth-nav);
- .enable-trans();
- &:hover {
- &:extend(.z-depth-nav-raised);
- }
- &:active {
-
- }
- .btn-close {
- display: block;
- position: absolute;
- width: 50px + 5px;
- height: @height_navbar;
- top: 0;
- right: 0;
- color: @color_text_in_header;
- cursor: pointer;
- text-align: center;
- line-height: @height_navbar;
- vertical-align: middle;
- font-size: @fontsize_header_switcher;
- .enable-trans();
- z-index: 2;
-
- &:hover {
- transform: rotate(90deg);
- }
- }
- .modal-loading {
- position: absolute;
- bottom: 0;
- left: 0;
- width: 100%;
- height: 2px;
- background: transparent;
- z-index: 1;
-
- .modal-loading-bar {
- display: block;
- position: relative;
- width: 0%;
- height: 100%;
- background: fade(@white, 100%);
- .enable-trans();
- }
- }
- #u-search-modal-form {
- position: relative;
- width: 100%;
- height: 100%;
- z-index: 2;
-
- #u-search-modal-input {
- width: 100%;
- padding: 0px 50px;
- height: @height_navbar;
- font-size: @fontsize_base;
- line-height: @lineheight_base;
- vertical-align: middle;
- color: @color_text_in_header;
- border: none;
- background: transparent;
- .enable-trans();
- font-weight: thin;
- appearance: none;
- box-shadow: none;
-
- &:focus {
- border-top-left-radius: @border_radius;
- border-top-right-radius: @border_radius;
- }
- }
- }
- #u-search-modal-btn-submit {
- position: absolute;
- top: 0;
- left: 0;
- padding-left: 5px;
- padding-top: 2px;
- background: transparent;
- border: none;
- width: 50px;
- height: @height_navbar;
- vertical-align: middle;
- font-size: @fontsize_header_switcher;
- color: @color_text_in_header;
- z-index: 2;
- }
- }
- .modal-footer {
- position: absolute;
- bottom: 0;
- left: 0;
- width: 100%;
- height: 50px;
- padding: 0px 15px;
- background: #fff;
- border-top: 1px solid lighten(@black,60%);
-
- .logo {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- text-align: center;
- z-index: 0;
-
- a {
- display: inline-block;
- }
- &.google img {
- height: 24px;
- margin-top: 13px;
- }
- &.baidu img {
- height: 22px;
- margin-top: 14px;
- }
- img {
- position: relative;
- display: inline-block;
- width: auto;
- height: 18px;
- margin-top: 16px;
- }
- }
- .modal-error {
- position: relative;
- float: left;
- vertical-align: middle;
- line-height: 50px;
- font-size: 13px;
- z-index: 1;
- }
- .modal-metadata {
- position: relative;
- float: left;
- vertical-align: middle;
- line-height: 50px;
- font-size: 13px;
- z-index: 1;
- }
- .nav {
- position: relative;
- display: block;
- float: right;
- vertical-align: middle;
- font-size: 13px;
- font-weight: 500;
- line-height: 50px;
- color: @color_grey;
- cursor: pointer;
- z-index: 1;
-
- &:hover {
- color: @black;
- }
- &.btn-next {
- margin-left: 10px;
- }
- .icon {
- font-size: 12px;
- }
- }
- }
- .modal-body {
- position: absolute;
- padding: 64px 50px 80px 50px;
- width: 100%;
- height: 100%;
- top: 0;
- left: 0;
- overflow-y: scroll;
- -webkit-overflow-scrolling: touch;
- background-color: @theme_cardbg;
- border-radius: @border_radius;
- @media (max-width: @on_modal_threshold) {
- padding: 60px 20px 80px 20px;
- }
- .modal-results {
- list-style: none;
-
- li {
- border-bottom: 1px solid #e6e8ea;
-
- &:last-child {
- border-bottom: none;
- }
- }
- .result {
- position: relative;
- display: block;
- padding: 15px 30px 15px 0px;
- text-decoration: none;
-
- &:hover {
- .digest, .icon {
- // color: @black;
- }
- .title {
- color: @color_text_highlight;
- }
- }
- .title {
- display: inline-block;
- max-width: 100%;
- color: lighten(@color_text_main, 10%);
- font-size: @fontsize_base;
- font-weight: bold;
- padding: 1px;
- margin-bottom: 2px;
- line-height: @lineheight_base;
- white-space: normal;
- overflow: hidden;
- text-overflow: ellipsis;
- }
- .digest {
- display: block;
- white-space: pre-wrap;
- overflow: scroll;
- text-overflow: ellipsis;
- font-size: @fontsize_small;
- line-height: @lineheight_base;
- color: lighten(@color_text_main, 30%);
- .enable-trans();
- em {
- // font-weight: bold;
- }
- }
- .icon {
- position: absolute;
- top: 50%;
- right: 0;
- margin-top: -4px;
- font-size: 11px;
- color: @color_grey;
- }
- }
- }
- }
- }
- .modal-overlay {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- background: rgba(0,0,0,0.7);
- z-index: 1;
- }
-}
diff --git a/themes/hexo-theme-material-x-master/source/less/_side.less b/themes/hexo-theme-material-x-master/source/less/_side.less
deleted file mode 100644
index 168e892a086d3670149c213545a181f6f848a583..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/less/_side.less
+++ /dev/null
@@ -1,381 +0,0 @@
-.l_side {
- width: @width_sidebar;
- float: right;
- position: relative;
- display: flex;
- flex-direction: column;
- @media(max-width: @on_desktop) {
- width: @width_sidebar_m;
- }
- @media(max-width: @on_pad) {
- // margin: @gap 0 0;
- width: 100%;
- }
-
-}
-
-.widget{
- z-index: 0;
- &:extend(.z-depth-main);
- background: @theme_cardbg;
- margin-top: @gap;
- font-family: @fontfamily_base;
- font-size: @fontsize_base;
-
- border-radius: @border_radius;
- .enable-trans();
- &:hover {
- box-shadow: @boxshadow_card_raised;
- }
- &:active {
- box-shadow: @boxshadow_card_normal;
- }
-
- width: 100%;
-
- @media(max-width: @on_phone) {
- width: ~"calc(100% - 2 * @{gap})";
- margin: @gap @gap 0 @gap;
- }
- max-height: ~"calc(100% - @{height_navbar} - 4 * @{gap})";
- header{
- display: flex;
- justify-content: space-between;
- border-top-left-radius: @border_radius;
- border-top-right-radius: @border_radius;
- background-color: @color_bg_navbar;
- color: @color_text_in_header;
- font-weight: bold;
- line-height: 1.5em;
- padding: 8px @gap;
- .rightBtn{
- color: @color_text_in_header;
- &:hover {
- color: darken(@theme_main, 25%);
- &.rotate90{
- transform: rotate(90deg);
- }
- }
- }
- &.pure{
- background-color: @theme_cardbg;
- color: @theme_main;
- padding-top: 14px; // 适合白色导航栏背景
- padding-bottom: 14px; // 适合白色导航栏背景
- .rightBtn{
- color: @theme_main;
- &:hover {
- color: darken(@theme_main, 25%);
- }
- }
- }
- }
- .content{
- text-align: justify;
- padding: @gap/2;
- max-height: ~"calc(100% - @{height_navbar} - 12.5 * @{gap})";
- ul > li{
- a{
- color: fade(@color_text_main, 80%);
- padding: 0 @gap;
- line-height: @height_cell;
- display: flex;
- justify-content: space-between;
- align-content: center;
- border-left: 2px solid transparent;
- .enable-trans();
- }
- }
- ul.entry, ul.popular-posts{
- a{
- .name{
- flex:auto;
- &:extend(.txt-ellipsis);
- color: fade(@color_text_main, 80%);
- }
- .badge{
- flex:none;
- font-weight: normal;
- font-size: @fontsize_small;
- color: fade(@color_text_main, 70%);
- }
- &:hover{
- border-left: 4px solid @theme_main;
- background: fade(@theme_main, 10%);
- }
- &:active{
- border-left: 8px solid @theme_main;
- }
- &.child{
- padding-left: @gap*2;
- }
- }
- }
- }
-
-
- &.author{
- .enable-trans();
- .content{
- padding: 0;
- div.avatar{
- display: flex;
- justify-content: center;
- }
- img{
- padding: 0;
- margin: 0;
- display: flex;
- justify-content: center;
- width: @width_sidebar;
- height: @width_sidebar;
- border-top-left-radius: @border_radius;
- border-top-right-radius: @border_radius;
- @media(max-width: @on_desktop) {
- width: @width_sidebar_m;
- height: @width_sidebar_m;
- }
- @media(max-width: @on_pad){
- width: 96px;
- height: 96px;
- border-radius: 100%;
- margin-top: @gap/2;
- padding: @gap/2;
- }
-
- }
- h2{
- text-align: center;
- font-weight: bold;
- margin: @gap/2;
- @media(max-width: @on_pad){
- margin: @gap/2;
- }
- }
- p{
- font-size: @fontsize_base;
- font-weight: bold;
- text-align: center;
- margin: @gap/2 @gap/2 0 @gap/2;
- empty-cells: hide;
- }
- .social-wrapper{
- display: flex;
- justify-content: space-between;
- flex-wrap: wrap;
- margin: 4px @gap/2;
- a{
- color: fade(@color_text_main, 70%);
- padding: 0;
- .enable-trans();
- &:hover{
- color: @color_text_highlight;
- }
- &.social {
- display: flex;
- justify-content: center;
- align-items: center;
- width: 32px;
- height: 32px;
- margin: 4px;
- border-radius: 100px;
- &:hover {
- background: fade(@theme_main, 10%);
- color: @theme_main;
- }
- }
- }
- @media(max-width: @on_pad){
- justify-content: center;
- display: none;
- }
- }
- }
- @media(max-width: @on_pad){
- box-shadow: none;
- background: @theme_background;
- margin-top: 2*@gap;
- }
- }
-
- &.plain{
- .content{
- font-size: @fontsize_small;
- font-weight: bold;
- word-break: break-all;
- padding: @gap/2 @gap;
- line-height: @fontsize_small + 8px;
- &.pure{
- padding: 0 @gap @gap @gap; // 适合白色导航栏背景
- }
- a{
- color: @color_text_link;
- .enable-trans();
- &:hover {
- color: @color_text_highlight;
- text-decoration: underline;
- }
- &:active {
- color: darken(@color_text_highlight, 25%);
- }
- }
- }
- }
-
- &.list{
- .content{
- padding: @gap/2 0;
- &.pure{
- padding-top: 0; // 适合白色导航栏背景
- }
- a{
- font-size: @fontsize_small;
- font-weight: bold;
- &:hover{
- text-decoration: none;
- }
- i{
- color: fade(@color_text_main,70%);
- line-height: @height_cell;
- margin-right: 3px;
- }
- img{
- display: inline;
- vertical-align: middle;
- height: 18px;
- width: 18px;
- margin-bottom: 4px;
- round{
- border-radius: 100%;
- }
- }
- }
- }
- }
- &.grid{
- .content{
- padding: @gap/2 0;
- &.pure{
- padding-top: 0; // 适合白色导航栏背景
- }
- ul.grid{
- border: none;
- display: flex;
- flex-wrap: wrap;
- justify-content: space-around;
- padding: 0 @gap;
- a{
- text-align: center;
- border-radius: @border_radius;
- margin: 4px 0;
- padding: 4px 8px;
- display: flex;
- flex-direction: column;
- align-items: center;
- font-size: @fontsize_small * .9;
- font-weight: bold;
- line-height: @fontsize_small * 1.3;
- color: fade(@color_text_main, 70%);
- i{
- margin-top: .3em;
- margin-bottom: .3em;
- font-size: 1.8em;
- }
- img{
- display: inline;
- vertical-align: middle;
- margin-bottom: 4px;
- round{
- border-radius: 100%;
- }
- }
- border: 1px solid transparent;
- &:hover {
- color: @theme_main;
- background: fade(@theme_main, 10%);
- border-radius: 4px;
- }
- &:active {
- color: @theme_main;
- }
- &.active {
- color: @theme_main;
- border: 1px solid @theme_main;
- }
- }
- }
- }
- }
- &.category{
- .content{
- padding: @gap/2 0;
- font-size: @fontsize_small;
- font-weight: bold;
- &.pure{
- padding-top: 0; // 适合白色导航栏背景
- }
- }
- }
-
- &.tagcloud{
- .content{
- text-align: justify;
- padding: @gap/2 @gap;
- &.pure{
- padding: 0 @gap @gap @gap; // 适合白色导航栏背景
- }
- a{
- display:inline-block;
- .enable-trans(.1s);
- line-height: 1.6em;
- &:hover{
- color: @color_text_highlight !important; //to cover inline style.
- text-decoration: underline
- }
- }
- }
- }
-
- &.music{
- header{
- &.pure{
- padding-bottom: @gap/4; // 适合白色导航栏背景
- }
- }
- .content{
- padding: @gap/2+4px;
- padding-top: @gap/2;
- &.pure{
- padding-top: @gap/4; // 适合白色导航栏背景
- }
- .aplayer{
- border-radius: 4px;
- color: #666;
- font-family: @fontfamily_base;
- }
- }
- }
-
- &.related_posts{
- .content{
- padding: @gap/2 0;
- font-size: @fontsize_small;
- font-weight: bold;
- &.pure{
- padding-top: 0; // 适合白色导航栏背景
- }
- h3{
- font-size: @fontsize_small;
- font-weight: bold;
- margin: 0;
- a{
- // line-height: @fontsize_small*1.7;
- line-height: inherit;
- padding-top: 4px;
- padding-bottom: 4px;
- }
- }
- }
- }
-
-}
diff --git a/themes/hexo-theme-material-x-master/source/less/_toc.less b/themes/hexo-theme-material-x-master/source/less/_toc.less
deleted file mode 100644
index df685f280852e5d1f73f1d7cfe1de23d44622ba0..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/less/_toc.less
+++ /dev/null
@@ -1,118 +0,0 @@
-.l_side .toc-wrapper{
- z-index: 1;
- overflow: hidden;
- border-radius: @border_radius;
- position: sticky;
- top: @height_navbar + @gap;
- .enable-trans();
- header{
- position: sticky;
- width: 100%;
- top: 0;
- }
- .content{
- padding: @gap/2 0 @gap 0;
- max-height: 500px;
- overflow: auto;
- &.pure{
- padding-top: 0; // 适合白色导航栏背景
- }
- a {
- border-left: 4px solid transparent;
- &:hover{
- color: fade(@color_text_main, 100%);
- border-left: 4px solid @theme_main;
- }
- &:active{
- border-left: 8px solid @theme_main;
- }
- &.active{
- color: fade(@color_text_main, 100%);
- border-left: 4px solid @theme_main;
- background: fade(@theme_main, 10%);
- }
- }
- }
- &.active{
- position: fixed;
- box-shadow: @boxshadow_card_raised;
- top: @height_navbar;
- header{
- .s-toc{
- transform: rotate(30deg);
- }
- }
- width: @width_sidebar;
- @media(max-width: @on_desktop) {
- width: @width_sidebar_m;
- }
- @media(max-width: @on_pad) {
- width: ~"calc(100% - 2 * @{gap})";
- }
- }
- .enable-trans();
- @media(max-width: @on_pad){
- position: fixed;
- max-height: 1000px;
- width: ~"calc(100% - 2 * @{gap})";
- top: @height_navbar;
- box-shadow: @boxshadow_card_raised;
- visibility: hidden;
- .rightBtn{
- display: none;
- }
- transform: scale(0,0);
- transform-origin: right top;
- &.active{
- visibility: visible;
- transform: scale(1,1);
- }
- }
-
- a {
- padding-left: 8px;
- color: fade(@color_text_main, 60%);
- font-size: @fontsize_small;
- display: inline-block;
- }
- ol{
- .toc-item.toc-level-1 {
- .toc-child a{
- padding-left: 0.8*@gap;
- font-weight: normal;
- }
- }
- .toc-item.toc-level-2 {
- .toc-child a{
- padding-left: 1.6*@gap;
- font-weight: normal;
- }
- }
- .toc-item.toc-level-3 {
- .toc-child a{
- padding-left: 2.4*@gap;
- font-weight: normal;
- }
- }
- .toc-item.toc-level-4 {
- .toc-child a{
- padding-left: 3.2*@gap;
- font-weight: normal;
- }
- }
- li{
- a{
- padding: 0 @gap/2 0 (@gap - 5px);
- font-weight: bold;
- width: 100%;
-
- }
- width: auto;
- text-align: left;
- // &:extend(.txt-ellipsis);
- }
- }
- &:empty{
- display:none;
- }
-}
diff --git a/themes/hexo-theme-material-x-master/source/less/_tog.less b/themes/hexo-theme-material-x-master/source/less/_tog.less
deleted file mode 100644
index e5ad09d8b66a084aea2b50e69a2c50b549ab5334..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/less/_tog.less
+++ /dev/null
@@ -1,40 +0,0 @@
-.tog{
- position:fixed;
- top: @height_navbar + @gap * 2;
- right: ~"calc((100% - @{container-width})/2)";
- .enable-trans();
- @media(max-width: @width_container){
- right: 0;
- }
- @media(max-width: @on_phone){
- right: -@width_sidebar;
- &.active{
- transform: translateX(-@width_sidebar);
- }
- }
- width: @width_sidebar + 6px;
- z-index:3;
- &:extend(.z-depth-2);
- padding: @gap;
- border-left: 6px solid @color_bg_navbar;
- background: @color_text_in_header;
- a {
- display: inline-block;
- &:hover,&:active,&.active{
- color: @color_text_highlight;
- }
- }
- ol{
- &.toc-child{
- padding-left: @gap;
- }
- li{
- list-style:none;
- width: auto;
- &:extend(.txt-ellipsis);
- }
- }
- &:empty{
- display:none;
- }
-}
diff --git a/themes/hexo-theme-material-x-master/source/less/_typo.less b/themes/hexo-theme-material-x-master/source/less/_typo.less
deleted file mode 100644
index cab17d68d06b534d244d2bc9960efaa3a7594d48..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/less/_typo.less
+++ /dev/null
@@ -1,334 +0,0 @@
-@charset "utf-8";
-.typo {
- font-size:1.6rem;
- @media (max-width: @on_phone) {
- padding: 0px 20px;
- }
-}
-/* 内外边距通常让各个浏览器样式的表现位置不同 */
-body, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td, hr, button, article, aside, details, figcaption, figure, footer, header, menu, nav, section {
- margin: 0;
- padding: 0;
-}
-
-/* 重设 HTML5 标签, IE 需要在 js 中 createElement(TAG) */
-article, aside, details, figcaption, figure, footer, header, menu, nav, section {
- display: block;
-}
-
-/* HTML5 媒体文件跟 img 保持一致 */
-audio, canvas, video {
- display: inline-block;
-}
-
-/* 要注意表单元素并不继承父级 font 的问题 */
-body, button, input, select, textarea {
- font: 300 1em/1.8 PingFang SC, Lantinghei SC, Microsoft Yahei, Hiragino Sans GB, Microsoft Sans Serif, WenQuanYi Micro Hei, sans;
-}
-
-button::-moz-focus-inner,
-input::-moz-focus-inner {
- padding: 0;
- border: 0;
-}
-
-/* 去掉各Table cell 的边距并让其边重合 */
-table {
- border-collapse: collapse;
- border-spacing: 0;
-}
-
-/* 去除默认边框 */
-fieldset, img {
- border: 0;
-}
-
-/* 块/段落引用 */
-blockquote {
- position: relative;
- color: #999;
- font-weight: 400;
- border-left: 1px solid #1abc9c;
- padding-left: 1em;
- margin: 1em 3em 1em 2em;
-}
-
-@media only screen and ( max-width: 640px ) {
- blockquote {
- margin: 1em 0;
- }
-}
-
-/* Firefox 以外,元素没有下划线,需添加 */
-acronym, abbr {
- border-bottom: 1px dotted;
- font-variant: normal;
-}
-
-/* 添加鼠标问号,进一步确保应用的语义是正确的(要知道,交互他们也有洁癖,如果你不去掉,那得多花点口舌) */
-abbr {
- cursor: help;
-}
-
-/* 一致的 del 样式 */
-del {
- text-decoration: line-through;
-}
-
-address, caption, cite, code, dfn, em, th, var {
- font-style: normal;
- font-weight: 400;
-}
-
-/* 去掉列表前的标识, li 会继承,大部分网站通常用列表来很多内容,所以应该当去 */
-ul, ol {
- list-style: none;
-}
-
-/* 对齐是排版最重要的因素, 别让什么都居中 */
-caption, th {
- text-align: left;
-}
-
-q:before, q:after {
- content: '';
-}
-
-/* 统一上标和下标 */
-sub, sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
-}
-
-:root sub, :root sup {
- vertical-align: baseline; /* for ie9 and other modern browsers */
-}
-
-sup {
- top: -0.5em;
-}
-
-sub {
- bottom: -0.25em;
-}
-
-/* 让链接在 hover 状态下显示下划线 */
-a {
- color: #1abc9c;
-}
-
-a:hover {
- text-decoration: underline;
-}
-
-.typo a {
- border-bottom: 1px solid #1abc9c;
-}
-
-.typo a:hover {
- border-bottom-color: #555;
- color: #555;
- text-decoration: none;
-}
-
-/* 默认不显示下划线,保持页面简洁 */
-ins, a {
- text-decoration: none;
-}
-
-/* 专名号:虽然 u 已经重回 html5 Draft,但在所有浏览器中都是可以使用的,
- * 要做到更好,向后兼容的话,添加 class="typo-u" 来显示专名号
- * 关于 标签:http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-u-element
- * 被放弃的是 4,之前一直搞错 http://www.w3.org/TR/html401/appendix/changes.html#idx-deprecated
- * 一篇关于 标签的很好文章:http://html5doctor.com/u-element/
- */
-u, .typo-u {
- text-decoration: underline;
-}
-
-/* 标记,类似于手写的荧光笔的作用 */
-mark {
- background: #fffdd1;
- border-bottom: 1px solid #ffedce;
- padding: 2px;
- margin: 0 5px;
-}
-
-/* 代码片断 */
-pre, code, pre tt {
- font-family: Courier, 'Courier New', monospace;
-}
-
-pre {
- background: #f8f8f8;
- border: 1px solid #ddd;
- padding: 1em 1.5em;
- display: block;
- -webkit-overflow-scrolling: touch;
-}
-
-/* 一致化 horizontal rule */
-hr {
- border: none;
- border-bottom: 1px solid #cfcfcf;
- margin-bottom: 0.8em;
- height: 10px;
-}
-
-/* 底部印刷体、版本等标记 */
-small, .typo-small,
- /* 图片说明 */
-figcaption {
- font-size: 0.9em;
- color: #888;
-}
-
-strong, b {
- font-weight: bold;
- color: #000;
-}
-
-/* 可拖动文件添加拖动手势 */
-[draggable] {
- cursor: move;
-}
-
-.clearfix:before, .clearfix:after {
- content: "";
- display: table;
-}
-
-.clearfix:after {
- clear: both;
-}
-
-.clearfix {
- zoom: 1;
-}
-
-/* 强制文本换行 */
-.textwrap, .textwrap td, .textwrap th {
- word-wrap: break-word;
- word-break: break-all;
-}
-
-.textwrap-table {
- table-layout: fixed;
-}
-
-/* 提供 serif 版本的字体设置: iOS 下中文自动 fallback 到 sans-serif */
-.serif {
- font-family: Palatino, Optima, Georgia, serif;
-}
-
-/* 保证块/段落之间的空白隔行 */
-.typo p, .typo pre, .typo ul, .typo ol, .typo dl, .typo form, .typo hr, .typo table,
-.typo-p, .typo-pre, .typo-ul, .typo-ol, .typo-dl, .typo-form, .typo-hr, .typo-table, blockquote {
- margin-bottom: 1.2em
-}
-
-h1, h2, h3, h4, h5, h6 {
- font-family: PingFang SC, Verdana, Helvetica Neue, Microsoft Yahei, Hiragino Sans GB, Microsoft Sans Serif, WenQuanYi Micro Hei, sans-serif;
- font-weight: 100;
- color: #000;
- line-height: 1.35;
-}
-
-/* 标题应该更贴紧内容,并与其他块区分,margin 值要相应做优化 */
-.typo h1, .typo h2, .typo h3, .typo h4, .typo h5, .typo h6,
-.typo-h1, .typo-h2, .typo-h3, .typo-h4, .typo-h5, .typo-h6 {
- margin-top: 1.2em;
- margin-bottom: 0.6em;
- line-height: 1.35;
-}
-
-.typo h1, .typo-h1 {
- font-size: 2em;
-}
-
-.typo h2, .typo-h2 {
- font-size: 1.8em;
-}
-
-.typo h3, .typo-h3 {
- font-size: 1.6em;
-}
-
-.typo h4, .typo-h4 {
- font-size: 1.4em;
-}
-
-.typo h5, .typo h6, .typo-h5, .typo-h6 {
- font-size: 1.2em;
-}
-
-/* 在文章中,应该还原 ul 和 ol 的样式 */
-.typo ul, .typo-ul {
- margin-left: 1.3em;
- list-style: disc;
-}
-
-.typo ol, .typo-ol {
- list-style: decimal;
- margin-left: 1.9em;
-}
-
-.typo li ul, .typo li ol, .typo-ul ul, .typo-ul ol, .typo-ol ul, .typo-ol ol {
- margin-bottom: 0.8em;
- margin-left: 2em;
-}
-
-.typo li ul, .typo-ul ul, .typo-ol ul {
- list-style: circle;
-}
-
-/* 同 ul/ol,在文章中应用 table 基本格式 */
-.typo table th, .typo table td, .typo-table th, .typo-table td, .typo table caption {
- border: 1px solid #ddd;
- padding: 0.5em 1em;
- color: #666;
-}
-
-.typo table th, .typo-table th {
- background: #fbfbfb;
-}
-
-.typo table thead th, .typo-table thead th {
- background: #f1f1f1;
-}
-
-.typo table caption {
- border-bottom: none;
-}
-
-/* 去除 webkit 中 input 和 textarea 的默认样式 */
-.typo-input, .typo-textarea {
- -webkit-appearance: none;
- border-radius: 0;
-}
-
-.typo-em, .typo em, legend, caption {
- color: #000;
- font-weight: inherit;
-}
-
-/* 着重号,只能在少量(少于100个字符)且全是全角字符的情况下使用 */
-.typo-em {
- position: relative;
-}
-
-.typo-em:after {
- position: absolute;
- top: 0.65em;
- left: 0;
- width: 100%;
- overflow: hidden;
- white-space: nowrap;
- content: "・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・";
-}
-
-/* Responsive images */
-.typo img {
- max-width: 100%;
-}
diff --git a/themes/hexo-theme-material-x-master/source/style.less b/themes/hexo-theme-material-x-master/source/style.less
deleted file mode 100644
index aab2f39e744aaaadf9acb1bbb95e1538f22d7ed1..0000000000000000000000000000000000000000
--- a/themes/hexo-theme-material-x-master/source/style.less
+++ /dev/null
@@ -1,17 +0,0 @@
-@charset "utf-8";
-@import "less/_defines.less";
-@import "less/_fonts.less";
-@import "less/_normalize.less";
-@import "less/_base.less";
-@import "less/_header.less";
-@import "less/_main.less";
-@import "less/_side.less";
-@import "less/_toc.less";
-@import "less/_archive.less";
-@import "less/_article.less";
-@import "less/_pagination.less";
-@import "less/_search.less";
-@import "less/_footer.less";
-@import "less/_color.less";
-@import "less/_layout.less";
-@import "less/_links.less";
diff --git a/themes/material-x-1.2.1/_config.yml b/themes/material-x-1.2.1/_config.yml
index 688060863f2304abe613cdce14eafe1c6b5e7052..d1c33e6af9c7103659876430bb11ea38ab2f5bdf 100644
--- a/themes/material-x-1.2.1/_config.yml
+++ b/themes/material-x-1.2.1/_config.yml
@@ -4,11 +4,11 @@ info:
docs: https://xaoxuu.com/wiki/material-x/
cdn: # 把对应的那一行注释掉就使用本地的文件
css:
- style: https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@2.2.1/css/style.css
+ style: https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@2.2.2/css/style.css
js:
- app: https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@2.2.1/js/app.js
- search: https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@2.2.1/js/search.js
- volantis: https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@2.2.1/js/volantis.min.js
+ app: https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@2.2.2/js/app.js
+ search: https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@2.2.2/js/search.js
+ volantis: https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@2.2.2/js/volantis.min.js
@@ -38,10 +38,10 @@ music:
autoplay: false # 自动播放
# 友链页头像占位图
-avatar_placeholder: https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@2.2.1/images/bitmap.gif
+avatar_placeholder: https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@2.2.2/images/bitmap.gif
-# 字数统计
-word_count: True
+# 文章字数统计、阅读时长
+word_count: true
# 日期格式 http://momentjs.com/docs/
date_format: 'YYYY-MM-DD' # 文章发布日期的格式
@@ -53,17 +53,17 @@ backstretch:
duration: 5000 # 持续时间(毫秒)
fade: 1500 # 渐变(毫秒)
images:
- #- https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@2.2.1/images/background/017.webp
- - https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@2.2.1/images/background/021.webp
+ #- https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@2.2.2/images/background/017.webp
+ #- https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@2.2.2/images/background/021.webp
############################### 自定义 ###############################
# page的封面
cover:
scheme: search # 后期将会提供多种封面方案
- height: half # full(默认值): 首页封面占据整个第一屏幕,其他页面占半个屏幕高度, half: 所有页面都封面都只占半个屏幕高度
+ height: full # full(默认值): 首页封面占据整个第一屏幕,其他页面占半个屏幕高度, half: 所有页面都封面都只占半个屏幕高度
# title: "TRHX'S BLOG"
- logo: https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@2.2.1/images/logo.png # logo和title只显示一个,若同时设置,则只显示logo
+ logo: https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@2.2.2/images/logo.png # logo和title只显示一个,若同时设置,则只显示logo
search_placeholder: '世界之大,探索一下!'
# 主页封面菜单
features:
@@ -141,7 +141,7 @@ menu_mobile:
# 其中,title只在header中有效,music和thumbnail无需在这里设置,文章中有则显示
# 如果tags放置在meta.header中,那么在post列表中不显示(因为卡片下方已经有了)
meta:
- header: [title, author, date, categories, tags, counter, word, top]
+ header: [title, author, date, categories, tags, counter, wordcount, top]
footer: [updated, share]
# 主体元素,你也可以在页面的Front-matter中设置
@@ -150,7 +150,7 @@ body: [article, comments]
# 侧边栏小部件,默认按下面给定的顺序全部显示,文章中还可以自定义显示一部分以及顺序
sidebar:
- widget: author
- avatar: https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@2.2.1/images/trhx.png
+ avatar: https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@2.2.2/images/trhx.png
title: TRHX'S BLOG
body: 一入IT深似海,从此学习无绝期
social: true
@@ -198,7 +198,7 @@ sidebar:
- widget: plain
icon: fas fa-comments
title: 交流群组
- body: '
QQ 交流群Telegram 交流群'
+ body: '
QQ 交流群Telegram 交流群'
# - widget: list
# icon: fas fa-link
# title: 特别链接
diff --git a/themes/material-x-1.2.1/layout/_meta/word.ejs b/themes/material-x-1.2.1/layout/_meta/word.ejs
deleted file mode 100644
index 30ad72922cb8dbce32b1dbed80b9cad0bdcff0f7..0000000000000000000000000000000000000000
--- a/themes/material-x-1.2.1/layout/_meta/word.ejs
+++ /dev/null
@@ -1,21 +0,0 @@
-<% if(isPostList || !isPostList){ %>
- <% if (theme.word_count && !post.no_word_count) { %>
-
-
-
-
- 字数统计:
- <%= wordcount(post.content) %>字
-
-
- |
-
-
-
- 阅读时长≈
- <%= min2read(post.content) %>分
-
-
-
- <% } %>
-<% } %>
\ No newline at end of file
diff --git a/themes/material-x-1.2.1/layout/_meta/wordcount.ejs b/themes/material-x-1.2.1/layout/_meta/wordcount.ejs
new file mode 100644
index 0000000000000000000000000000000000000000..c2d9b088063196585acecfd61c998b896f80b859
--- /dev/null
+++ b/themes/material-x-1.2.1/layout/_meta/wordcount.ejs
@@ -0,0 +1,18 @@
+<% if(isPostList || !isPostList){ %>
+ <% if (theme.word_count && !post.no_word_count) { %>
+
+
+ <% } %>
+<% } %>
\ No newline at end of file
diff --git a/themes/material-x-1.2.1/layout/_partial/head.ejs b/themes/material-x-1.2.1/layout/_partial/head.ejs
index 2876a67628fe6a6402deac26872ba4d4ac3d527f..6bc2e97cb60637b27899a6d1647bdf9fa9391203 100644
--- a/themes/material-x-1.2.1/layout/_partial/head.ejs
+++ b/themes/material-x-1.2.1/layout/_partial/head.ejs
@@ -39,7 +39,7 @@
-
+
<% if (config.import && config.import.meta){ %>
<% (config.import.meta||[]).forEach(function(item){ %>
diff --git a/themes/material-x-1.2.1/layout/layout.ejs b/themes/material-x-1.2.1/layout/layout.ejs
index 6dce60577a0c242462e0ce97eb654c832fcfc67b..23e5300851770909212b8504b69fc4e137e6d772 100644
--- a/themes/material-x-1.2.1/layout/layout.ejs
+++ b/themes/material-x-1.2.1/layout/layout.ejs
@@ -1,13 +1,33 @@
-
+
<%- partial('_partial/head') %>
@@ -45,21 +65,23 @@
-
+
-
+
-
+
+
-
+
-
+
+
+