├── .gitignore ├── README.md ├── _config.yml ├── package.json ├── scaffolds ├── draft.md ├── page.md └── post.md ├── source ├── _posts │ └── Hexo-Theme-Sakura.md ├── about │ └── index.md ├── bangumi │ └── index.md ├── client │ └── index.md ├── comment │ └── index.md ├── donate │ └── index.md ├── lab │ └── index.md ├── links │ └── index.md ├── music │ └── index.md ├── rss │ └── index.md ├── tags │ └── index.md ├── theme-sakura │ └── index.md └── video │ └── index.md └── themes └── Sakura ├── .gitignore ├── .travis.yml ├── CNAME ├── LICENSE ├── README.md ├── README.zhCN.md ├── _config.yml ├── languages ├── en.yml └── zh-cn.yml ├── layout ├── _partial │ ├── _page.ejs │ ├── _post.ejs │ ├── aplayer.ejs │ ├── archive.ejs │ ├── category-archive.ejs │ ├── comment.ejs │ ├── footer.ejs │ ├── head.ejs │ ├── header.ejs │ ├── headertop.ejs │ ├── mheader.ejs │ └── startdash.ejs ├── _widget │ ├── category-items.ejs │ ├── common-article.ejs │ ├── common-page.ejs │ ├── index-items.ejs │ └── search │ │ └── insight.ejs ├── archive.ejs ├── bangumi.ejs ├── category.ejs ├── donate.ejs ├── index.ejs ├── layout.ejs ├── links.ejs ├── page.ejs ├── post.ejs └── tag.ejs ├── package.json └── source ├── 404.html ├── css ├── APlayer.min.css ├── bangumi.css ├── donate.css ├── font.css ├── insight.styl ├── jquery.fancybox.min.css ├── lib.min.css ├── sharejs.css ├── style.css └── zoom.css ├── fonts ├── SAKURASO.old │ ├── icon.css │ ├── sakuraso-symbol.svg │ ├── sakuraso.eot │ ├── sakuraso.svg │ ├── sakuraso.ttf │ └── sakuraso.woff ├── fontawesome-webfont.woff2 ├── iconfont.eot ├── iconfont.svg ├── iconfont.ttf └── iconfont.woff ├── images ├── cover │ ├── (0).jpg.webp │ ├── (1).jpg.webp │ ├── (2).jpg.webp │ ├── (3).jpg.webp │ ├── (4).jpg.webp │ ├── (5).jpg.webp │ ├── (6).jpg.webp │ ├── (7).jpg.webp │ └── (8).jpg.webp ├── donate │ ├── AliPayQR.jpg │ ├── BTCQR.png │ ├── WeChanQR.jpg │ ├── WeChanSQ.jpg │ ├── alipay.svg │ ├── bitcoin.svg │ ├── github.svg │ ├── like.svg │ ├── paypal.svg │ └── wechat.svg └── favicon.ico ├── js ├── APlayer.min.js ├── InsightSearch.js ├── botui.js ├── jquery.fancybox.min.js ├── lib.min.js ├── sakura-app.js └── zoom.min.js └── warn.html /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | Thumbs.db 3 | db.json 4 | *.log 5 | node_modules/ 6 | public/ 7 | .deploy*/ 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [中文文档&DOCS](https://docs.hojun.cn/sakura/docs/) 2 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | # Hexo Configuration 2 | ## Docs: https://hexo.io/docs/configuration.html 3 | ## Source: https://github.com/hexojs/hexo/ 4 | 5 | # Site 6 | title: hojun 7 | subtitle: 8 | description: 好少年光芒万丈 9 | keywords: 10 | author: hojun 11 | language: zh-cn 12 | timezone: 13 | 14 | # URL 15 | ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' 16 | url: / 17 | root: / 18 | permalink: :year/:month/:day/:title/ 19 | permalink_defaults: 20 | 21 | # Directory 22 | source_dir: source 23 | public_dir: public 24 | tag_dir: tags 25 | archive_dir: archives 26 | category_dir: categories 27 | code_dir: downloads/code 28 | i18n_dir: :lang 29 | skip_render: 30 | 31 | # Writing 32 | new_post_name: :title.md # File name of new posts 33 | default_layout: post 34 | titlecase: false # Transform title into titlecase 35 | external_link: true # Open external links in new tab 36 | filename_case: 0 37 | render_drafts: false 38 | post_asset_folder: false 39 | relative_link: false 40 | future: true 41 | highlight: 42 | enable: false 43 | line_number: false 44 | auto_detect: false 45 | tab_replace: 46 | 47 | # Home page setting 48 | # path: Root path for your blogs index page. (default = '') 49 | # per_page: Posts displayed per page. (0 = disable pagination) 50 | # order_by: Posts order. (Order by date descending by default) 51 | index_generator: 52 | path: '' 53 | per_page: 10 54 | order_by: -date 55 | 56 | # Category & Tag 57 | default_category: uncategorized 58 | category_map: 59 | tag_map: 60 | 61 | # Date / Time format 62 | ## Hexo uses Moment.js to parse and display date 63 | ## You can customize the date format as defined in 64 | ## http://momentjs.com/docs/#/displaying/format/ 65 | date_format: YYYY-MM-DD 66 | time_format: HH:mm:ss 67 | 68 | # Pagination 69 | ## Set per_page to 0 to disable pagination 70 | per_page: 10 71 | pagination_dir: page 72 | 73 | # Extensions 74 | ## Plugins: https://hexo.io/plugins/ 75 | ## Themes: https://hexo.io/themes/ 76 | theme: Sakura 77 | 78 | # Deployment 79 | ## Docs: https://hexo.io/docs/deployment.html 80 | deploy: 81 | type: git 82 | repo: 83 | # github: git@github.com:honjun/honjun.github.io.git 84 | # github: https://github.com/honjun/honjun.github.io.git 85 | coding: https://git.coding.net/hojun/hojun.git 86 | branch: master 87 | 88 | # backup 89 | backup: 90 | type: git 91 | message: backup my blog of https://yourname.github.io/ 92 | repository: 93 | # github: https://github.com/honjun/honjun.github.io.git,backup 94 | coding: https://git.coding.net/hojun/hojun.git,backup 95 | 96 | #RSS 97 | feed: 98 | type: atom 99 | path: atom.xml 100 | limit: 20 101 | hub: 102 | content: 103 | content_limit: 140 104 | content_limit_delim: ' ' 105 | order_by: -date 106 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hexo-site", 3 | "version": "0.0.0", 4 | "private": true, 5 | "hexo": { 6 | "version": "3.8.0" 7 | }, 8 | "dependencies": { 9 | "hexo": "^3.7.0", 10 | "hexo-deployer-git": "^0.2.0", 11 | "hexo-generator-archive": "^0.1.5", 12 | "hexo-generator-category": "^0.1.3", 13 | "hexo-generator-feed": "^1.2.2", 14 | "hexo-generator-index": "^0.2.1", 15 | "hexo-generator-json-content": "^2.2.0", 16 | "hexo-generator-tag": "^0.2.0", 17 | "hexo-git-backup": "^0.1.2", 18 | "hexo-renderer-ejs": "^0.3.1", 19 | "hexo-renderer-marked": "^0.3.2", 20 | "hexo-renderer-stylus": "^0.3.3", 21 | "hexo-server": "^0.3.1", 22 | "hexo-tag-bili": "^1.0.0", 23 | "hexo-tag-fancybox_img": "^1.0.1" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /scaffolds/draft.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: {{ title }} 3 | tags: 4 | --- 5 | -------------------------------------------------------------------------------- /scaffolds/page.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: {{ title }} 3 | date: {{ date }} 4 | keywords: 5 | description: 6 | comments: false 7 | photos: 8 | --- 9 | -------------------------------------------------------------------------------- /scaffolds/post.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: {{ title }} 3 | date: {{ date }} 4 | author: hojun 5 | avatar: https://wx1.sinaimg.cn/large/006bYVyvgy1ftand2qurdj303c03cdfv.jpg 6 | authorLink: hojun.cn 7 | authorAbout: 一个好奇的人 8 | authorDesc: 一个好奇的人 9 | categories: 技术 10 | comments: true 11 | tags: 12 | keywords: 13 | description: 14 | photos: 15 | --- -------------------------------------------------------------------------------- /source/_posts/Hexo-Theme-Sakura.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Hexo-Theme-Sakura 3 | author: hojun 4 | avatar: https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/img/custom/avatar.jpg 5 | authorLink: hojun.cn 6 | authorAbout: 一个好奇的人 7 | authorDesc: 一个好奇的人 8 | categories: 技术 9 | date: 2018-12-12 22:16:01 10 | comments: true 11 | tags: 12 | - web 13 | - 悦读 14 | keywords: Sakura 15 | description: hexo-sakura主题使用教程 16 | photos: https://static.2heng.xin/wp-content/uploads//2019/02/wallhaven-672007-1-1024x576.png 17 | --- 18 | hexo-theme-sakura主题 [English document](https://github.com/honjun/hexo-theme-sakura/blob/master/README.md) 19 | 20 | 基于WordPress主题[Sakura](https://github.com/mashirozx/Sakura/)修改成Hexo的主题。 21 | 22 | [demo预览](https://sakura.hojun.cn) 23 | 24 | 正在开发中...... 25 | 26 | ![](https://wx3.sinaimg.cn/large/006bYVyvly1g069tuf42oj312w0m8ndq.jpg) 27 | 28 | ## 交流群 29 | 若你是使用者,加群QQ: 801511924 30 | 31 | 若你是创作者,加群QQ: 194472590 32 | 33 | 34 | ## 主题特性 35 | 36 | - 首页大屏视频 37 | - 首页随机封面 38 | - 图片懒加载 39 | - valine评论 40 | - fancy-box相册 41 | - pjax支持,音乐不间断 42 | - aplayer音乐播放器 43 | - 多级导航菜单(按现在大部分hexo主题来说,这也算是个特性了) 44 | 45 | 46 | ## 赞赏作者 47 | 如果喜欢hexo-theme-sakura主题,可以考虑资助一下哦~非常感激! 48 | 49 | [paypal](https://www.paypal.me/hojuncn) | [Alipay 支付宝](https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/img/custom/donate/AliPayQR.jpg) | [WeChat Pay 微信支付](https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/img/custom/donate/WeChanSQ.jpg) 50 | 51 | ## 未完善的使用教程 52 | 53 | 那啥?老实说我目前也不是很有条理233333333~ 54 | 55 | ## 1、主题下载安装 56 | 57 | [hexo-theme-sakura](https://github.com/honjun/hexo-theme-sakura)建议下载压缩包格式,因为除了主题内容还有些source的配置对新手来说比较太麻烦,直接下载解压就省去这些麻烦咯。 58 | 59 | 下载好后解压到博客根目录(不是主题目录哦,重复的选择替换)。接着在命令行(cmd、bash)运行`npm i`安装依赖。 60 | 61 | ## 2、主题配置 62 | 63 | ### 博客根目录下的_config配置 64 | 65 | 站点 66 | ```yml 67 | # Site 68 | title: 你的站点名 69 | subtitle: 70 | description: 站点简介 71 | keywords: 72 | author: 作者名 73 | language: zh-cn 74 | timezone: 75 | ``` 76 | 77 | 部署 78 | ```yml 79 | deploy: 80 | type: git 81 | repo: 82 | github: 你的github仓库地址 83 | # coding: 你的coding仓库地址 84 | branch: master 85 | ``` 86 | 87 | 备份 (使用hexo b发布备份到远程仓库) 88 | ```yml 89 | backup: 90 | type: git 91 | message: backup my blog of https://honjun.github.io/ 92 | repository: 93 | # 你的github仓库地址,备份分支名 (建议新建backup分支) 94 | github: https://github.com/honjun/honjun.github.io.git,backup 95 | # coding: https://git.coding.net/hojun/hojun.git,backup 96 | 97 | ``` 98 | 99 | ### 主题目录下的_config配置 100 | 101 | 其中标明【改】的是需要修改部门,标明【选】是可改可不改,标明【非】是不用改的部分 102 | ```yml 103 | # site name 104 | # 站点名 【改】 105 | prefixName: さくら荘その 106 | siteName: hojun 107 | 108 | # favicon and site master avatar 109 | # 站点的favicon和头像 输入图片路径(下面的配置是都是cdn的相对路径,没有cdn请填写完整路径,建议使用jsdeliver搭建一个cdn啦,先去下载我的cdn替换下图片就行了,简单方便~)【改】 110 | favicon: /images/favicon.ico 111 | avatar: /img/custom/avatar.jpg 112 | 113 | # 站点url 【改】 114 | url: https://sakura.hojun.cn 115 | 116 | # 站点介绍(或者说是个人签名)【改】 117 | description: Live your life with passion! With some drive! 118 | 119 | # 站点cdn,没有就为空 【改】 若是cdn为空,一些图片地址就要填完整地址了,比如之前avatar就要填https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/img/custom/avatar.jpg 120 | cdn: https://cdn.jsdelivr.net/gh/honjun/cdn@1.6 121 | 122 | # 开启pjax 【选】 123 | pjax: 1 124 | 125 | # 站点首页的公告信息 【改】 126 | notice: hexo-Sakura主题已经开源,目前正在开发中... 127 | 128 | # 懒加载的加载中图片 【选】 129 | lazyloadImg: https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/img/loader/orange.progress-bar-stripe-loader.svg 130 | 131 | # 站点菜单配置 【选】 132 | menus: 133 | 首页: { path: /, fa: fa-fort-awesome faa-shake } 134 | 归档: { path: /archives, fa: fa-archive faa-shake, submenus: { 135 | 技术: {path: /categories/技术/, fa: fa-code }, 136 | 生活: {path: /categories/生活/, fa: fa-file-text-o }, 137 | 资源: {path: /categories/资源/, fa: fa-cloud-download }, 138 | 随想: {path: /categories/随想/, fa: fa-commenting-o }, 139 | 转载: {path: /categories/转载/, fa: fa-book } 140 | } } 141 | 清单: { path: javascript:;, fa: fa-list-ul faa-vertical, submenus: { 142 | 书单: {path: /tags/悦读/, fa: fa-th-list faa-bounce }, 143 | 番组: {path: /bangumi/, fa: fa-film faa-vertical }, 144 | 歌单: {path: /music/, fa: fa-headphones }, 145 | 图集: {path: /tags/图集/, fa: fa-photo } 146 | } } 147 | 留言板: { path: /comment/, fa: fa-pencil-square-o faa-tada } 148 | 友人帐: { path: /links/, fa: fa-link faa-shake } 149 | 赞赏: { path: /donate/, fa: fa-heart faa-pulse } 150 | 关于: { path: /, fa: fa-leaf faa-wrench , submenus: { 151 | 我?: {path: /about/, fa: fa-meetup}, 152 | 主题: {path: /theme-sakura/, fa: iconfont icon-sakura }, 153 | Lab: {path: /lab/, fa: fa-cogs }, 154 | } } 155 | 客户端: { path: /client/, fa: fa-android faa-vertical } 156 | RSS: { path: /atom.xml, fa: fa-rss faa-pulse } 157 | 158 | # Home page sort type: -1: newer first,1: older first. 【非】 159 | homePageSortType: -1 160 | 161 | # Home page article shown number) 【非】 162 | homeArticleShown: 10 163 | 164 | # 背景图片 【选】 165 | bgn: 8 166 | 167 | # startdash面板 url, title, desc img 【改】 168 | startdash: 169 | - {url: /theme-sakura/, title: Sakura, desc: 本站 hexo 主题, img: /img/startdash/sakura.md.png} 170 | - {url: http://space.bilibili.com/271849279, title: Bilibili, desc: 博主的b站视频, img: /img/startdash/bilibili.jpg} 171 | - {url: /, title: hojun的万事屋, desc: 技术服务, img: /img/startdash/wangshiwu.jpg} 172 | 173 | 174 | # your site build time or founded date 175 | # 你的站点建立日期 【改】 176 | siteBuildingTime: 07/17/2018 177 | 178 | 179 | # 社交按钮(social) url, img PC端配置 【改】 180 | social: 181 | github: {url: http://github.com/honjun, img: /img/social/github.png} 182 | sina: {url: http://weibo.com/mashirozx?is_all=1, img: /img/social/sina.png} 183 | wangyiyun: {url: http://weibo.com/mashirozx?is_all=1, img: /img/social/wangyiyun.png} 184 | zhihu: {url: http://weibo.com/mashirozx?is_all=1, img: /img/social/zhihu.png} 185 | email: {url: http://weibo.com/mashirozx?is_all=1, img: /img/social/email.svg} 186 | wechat: {url: /#, qrcode: /img/custom/wechat.jpg, img: /img/social/wechat.png} 187 | 188 | # 社交按钮(msocial) url, img 移动端配置 【改】 189 | msocial: 190 | github: {url: http://github.com/honjun, fa: fa-github, color: 333} 191 | weibo: {url: http://weibo.com/mashirozx?is_all=1, fa: fa-weibo, color: dd4b39} 192 | qq: {url: https://wpa.qq.com/msgrd?v=3&uin=954655431&site=qq&menu=yes, fa: fa-qq, color: 25c6fe} 193 | 194 | # 赞赏二维码(其中wechatSQ是赞赏单页面的赞赏码图片)【改】 195 | donate: 196 | alipay: /img/custom/donate/AliPayQR.jpg 197 | wechat: /img/custom/donate/WeChanQR.jpg 198 | wechatSQ: /img/custom/donate/WeChanSQ.jpg 199 | 200 | # 首页视频地址为https://cdn.jsdelivr.net/gh/honjun/hojun@1.2/Unbroken.mp4,配置如下 【改】 201 | movies: 202 | url: https://cdn.jsdelivr.net/gh/honjun/hojun@1.2 203 | # 多个视频用逗号隔开,随机获取。支持的格式目前已知MP4,Flv。其他的可以试下,不保证有用 204 | name: Unbroken.mp4 205 | 206 | # 左下角aplayer播放器配置 主要改id和server这两项,修改详见[aplayer文档] 【改】 207 | aplayer: 208 | id: 2660651585 209 | server: netease 210 | type: playlist 211 | fixed: true 212 | mini: false 213 | autoplay: false 214 | loop: all 215 | order: random 216 | preload: auto 217 | volume: 0.7 218 | mutex: true 219 | 220 | # Valine评论配置【改】 221 | valine: true 222 | v_appId: GyC3NzMvd0hT9Yyd2hYIC0MN-gzGzoHsz 223 | v_appKey: mgOpfzbkHYqU92CV4IDlAUHQ 224 | ``` 225 | 226 | ## 分类页和标签页配置 227 | 228 | ### 分类页 229 | ![](https://ws3.sinaimg.cn/large/006bYVyvly1g07b0gucy9j31060jih76.jpg) 230 | ### 标签页 231 | ![](https://wx2.sinaimg.cn/large/006bYVyvly1g07azb2399j31040jgazs.jpg) 232 | 233 | 配置项在\themes\Sakura\languages\zh-cn.yml里。新增一个分类或标签最好加下哦,当然嫌麻烦可以直接使用一张默认图片(可以改主题或者直接把404图片替换下,征求下意见要不要给这个在配置文件中加个开关,可以issue或群里提出来),现在是没设置的话会使用那种倒立小狗404哦。 234 | ```yml 235 | #category 236 | # 按分类名创建 237 | 技术: 238 | #中文标题 239 | zh: 野生技术协会 240 | # 英文标题 241 | en: Geek – Only for Love 242 | # 封面图片 243 | img: https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/img/banner/coding.jpg 244 | 生活: 245 | zh: 生活 246 | en: live 247 | img: https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/img/banner/writing.jpg 248 | 249 | #tag 250 | # 标签名即是标题 251 | 悦读: 252 | # 封面图片 253 | img: https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/img/banner/reading.jpg 254 | ``` 255 | 256 | ## 单页面封面配置 257 | 258 | ![](https://ws3.sinaimg.cn/large/006bYVyvly1g07b1pi619j31080jge4u.jpg) 259 | 如留言板页面页面,位于source下的comment下,打开index.md如下: 260 | ```md 261 | --- 262 | title: comment 263 | date: 2018-12-20 23:13:48 264 | keywords: 留言板 265 | description: 266 | comments: true 267 | # 在这里配置单页面头部图片,自定义替换哦~ 268 | photos: https://cdn.jsdelivr.net/gh/honjun/cdn@1.4/img/banner/comment.jpg 269 | --- 270 | ``` 271 | 272 | 273 | ## 单页面配置 274 | 275 | ### 番组计划页 (请直接在下载后的文件中改,下面的添加了注释可能会有些影响) 276 | ![](https://wx2.sinaimg.cn/large/006bYVyvly1g07b2gyx60j31090jjahj.jpg) 277 | 278 | ```yml 279 | --- 280 | layout: bangumi 281 | title: bangumi 282 | comments: false 283 | date: 2019-02-10 21:32:48 284 | keywords: 285 | description: 286 | bangumis: 287 | # 番组图片 288 | - img: https://lain.bgm.tv/pic/cover/l/0e/1e/218971_2y351.jpg 289 | # 番组名 290 | title: 朝花夕誓——于离别之朝束起约定之花 291 | # 追番状态 (追番ing/已追完) 292 | status: 已追完 293 | # 追番进度 294 | progress: 100 295 | # 番剧日文名称 296 | jp: さよならの朝に約束の花をかざろう 297 | # 放送时间 298 | time: 放送时间: 2018-02-24 SUN. 299 | # 番剧介绍 300 | desc: 住在远离尘嚣的土地,一边将每天的事情编织成名为希比欧的布,一边静静生活的伊欧夫人民。在15岁左右外表就停止成长,拥有数百年寿命的他们,被称为“离别的一族”,并被视为活着的传说。没有双亲的伊欧夫少女玛奇亚,过着被伙伴包围的平稳日子,却总感觉“孤身一人”。他们的这种日常,一瞬间就崩溃消失。追求伊欧夫的长寿之血,梅萨蒂军乘坐着名为雷纳特的古代兽发动了进攻。在绝望与混乱之中,伊欧夫的第一美女蕾莉亚被梅萨蒂带走,而玛奇亚暗恋的少年克里姆也失踪了。玛奇亚虽然总算逃脱了,却失去了伙伴和归去之地……。 301 | - img: https://lain.bgm.tv/pic/cover/l/0e/1e/218971_2y351.jpg 302 | title: 朝花夕誓——于离别之朝束起约定之花 303 | status: 已追完 304 | progress: 50 305 | jp: さよならの朝に約束の花をかざろう 306 | time: 放送时间: 2018-02-24 SUN. 307 | desc: 住在远离尘嚣的土地,一边将每天的事情编织成名为希比欧的布,一边静静生活的伊欧夫人民。在15岁左右外表就停止成长,拥有数百年寿命的他们,被称为“离别的一族”,并被视为活着的传说。没有双亲的伊欧夫少女玛奇亚,过着被伙伴包围的平稳日子,却总感觉“孤身一人”。他们的这种日常,一瞬间就崩溃消失。追求伊欧夫的长寿之血,梅萨蒂军乘坐着名为雷纳特的古代兽发动了进攻。在绝望与混乱之中,伊欧夫的第一美女蕾莉亚被梅萨蒂带走,而玛奇亚暗恋的少年克里姆也失踪了。玛奇亚虽然总算逃脱了,却失去了伙伴和归去之地……。 308 | --- 309 | ``` 310 | 311 | ### 友链页 (请直接在下载后的文件中改,下面的添加了注释可能会有些影响) 312 | ![](https://ws3.sinaimg.cn/large/006bYVyvly1g07b39tleej31080jhjv1.jpg) 313 | 314 | ```yml 315 | --- 316 | layout: links 317 | title: links 318 | # 创建日期,可以改下 319 | date: 2018-12-19 23:11:06 320 | # 图片上的标题,自定义修改 321 | keywords: 友人帐 322 | description: 323 | # true/false 开启/关闭评论 324 | comments: true 325 | # 页面头部图片,自定义修改 326 | photos: https://cdn.jsdelivr.net/gh/honjun/cdn@1.4/img/banner/links.jpg 327 | # 友链配置 328 | links: 329 | # 类型分组 330 | - group: 个人项目 331 | # 类型简介 332 | desc: 充分说明这家伙是条咸鱼 < ( ̄︶ ̄)> 333 | items: 334 | # 友链链接 335 | - url: https://shino.cc/fgvf 336 | # 友链头像 337 | img: https://cloud.moezx.cc/Picture/svg/landscape/fields.svg 338 | # 友链站点名 339 | name: Google 340 | # 友链介绍 下面雷同 341 | desc: Google 镜像 342 | - url: https://shino.cc/fgvf 343 | img: https://cloud.moezx.cc/Picture/svg/landscape/fields.svg 344 | name: Google 345 | desc: Google 镜像 346 | # 类型分组... 347 | - group: 小伙伴们 348 | desc: 欢迎交换友链 ꉂ(ˊᗜˋ) 349 | items: 350 | - url: https://shino.cc/fgvf 351 | img: https://cloud.moezx.cc/Picture/svg/landscape/fields.svg 352 | name: Google 353 | desc: Google 镜像 354 | - url: https://shino.cc/fgvf 355 | img: https://cloud.moezx.cc/Picture/svg/landscape/fields.svg 356 | name: Google 357 | desc: Google 镜像 358 | --- 359 | ``` 360 | 361 | ## 写文章配置 362 | 363 | 主题集成了个人插件hexo-tag-bili和hexo-tag-fancybox_img。其中hexo-tag-bili用来在文章或单页面中插入B站外链视频,使用语法如下: 364 | ```md 365 | {% bili video_id [page] %} 366 | ``` 367 | 详细使用教程详见[hexo-tag-bili](https://github.com/honjun/hexo-tag-bili/blob/master/README-zh_cn.md)。 368 | 369 | hexo-tag-fancybox_img用来在文章或单页面中图片,使用语法如下: 370 | ```md 371 | {% fb_img src [caption] %} 372 | ``` 373 | 详细使用教程详见[hexo-tag-fancybox_img](https://github.com/honjun/hexo-tag-fancybox_img/blob/master/README-zh_cn.md) 374 | 375 | ## 还有啥,一时想不起来...... 376 | 377 | To be continued... -------------------------------------------------------------------------------- /source/about/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: about 3 | date: 2018-12-12 22:14:36 4 | keywords: 关于 5 | description: 6 | comments: false 7 | photos: https://cdn.jsdelivr.net/gh/honjun/cdn@1.4/img/banner/about.jpg 8 | --- 9 | {% raw %} 10 | 11 |
12 |
[さくら荘のhojun]
13 |
14 |
15 |

16 |

17 |

18 | 与  19 | Mashiro  20 | ( 21 | 22 | 真(ま)白(しろ) 23 | 24 | ) 25 | 26 | 对话中...

27 |

28 |

29 |
30 | 31 |
32 |
33 | 34 | 37 | {% endraw %} -------------------------------------------------------------------------------- /source/bangumi/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: bangumi 3 | title: bangumi 4 | comments: false 5 | date: 2019-02-10 21:32:48 6 | keywords: 7 | description: 8 | bangumis: 9 | - img: https://lain.bgm.tv/pic/cover/l/0e/1e/218971_2y351.jpg 10 | title: 朝花夕誓——于离别之朝束起约定之花 11 | status: 已追完 12 | progress: 100 13 | jp: さよならの朝に約束の花をかざろう 14 | time: 2018-02-24 SUN. 15 | desc: 住在远离尘嚣的土地,一边将每天的事情编织成名为希比欧的布,一边静静生活的伊欧夫人民。在15岁左右外表就停止成长,拥有数百年寿命的他们,被称为“离别的一族”,并被视为活着的传说。没有双亲的伊欧夫少女玛奇亚,过着被伙伴包围的平稳日子,却总感觉“孤身一人”。他们的这种日常,一瞬间就崩溃消失。追求伊欧夫的长寿之血,梅萨蒂军乘坐着名为雷纳特的古代兽发动了进攻。在绝望与混乱之中,伊欧夫的第一美女蕾莉亚被梅萨蒂带走,而玛奇亚暗恋的少年克里姆也失踪了。玛奇亚虽然总算逃脱了,却失去了伙伴和归去之地……。 16 | - img: https://lain.bgm.tv/pic/cover/l/0e/1e/218971_2y351.jpg 17 | title: 朝花夕誓——于离别之朝束起约定之花 18 | status: 已追完 19 | progress: 50 20 | jp: さよならの朝に約束の花をかざろう 21 | time: 2018-02-24 SUN. 22 | desc: 住在远离尘嚣的土地,一边将每天的事情编织成名为希比欧的布,一边静静生活的伊欧夫人民。在15岁左右外表就停止成长,拥有数百年寿命的他们,被称为“离别的一族”,并被视为活着的传说。没有双亲的伊欧夫少女玛奇亚,过着被伙伴包围的平稳日子,却总感觉“孤身一人”。他们的这种日常,一瞬间就崩溃消失。追求伊欧夫的长寿之血,梅萨蒂军乘坐着名为雷纳特的古代兽发动了进攻。在绝望与混乱之中,伊欧夫的第一美女蕾莉亚被梅萨蒂带走,而玛奇亚暗恋的少年克里姆也失踪了。玛奇亚虽然总算逃脱了,却失去了伙伴和归去之地……。 23 | --- 24 | -------------------------------------------------------------------------------- /source/client/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: client 3 | date: 2018-12-20 23:13:35 4 | keywords: Android客户端 5 | description: 6 | comments: false 7 | photos: https://cdn.jsdelivr.net/gh/honjun/cdn@1.4/img/banner/client.jpg 8 | --- 9 | 直接下载 or 扫码下载: 10 | {% raw %} 11 |
12 | 13 |
14 | {% endraw %} -------------------------------------------------------------------------------- /source/comment/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: comment 3 | date: 2018-12-20 23:13:48 4 | keywords: 留言板 5 | description: 6 | comments: true 7 | photos: https://cdn.jsdelivr.net/gh/honjun/cdn@1.4/img/banner/comment.jpg 8 | --- 9 | {% raw %} 10 |
11 |
12 |
13 |
14 |
15 |
16 |

17 | 念两句诗

18 |

19 | 叙别梦、扬州一觉。

20 |

21 | 【宋代】吴文英《夜游宫·人去西楼雁杳》

22 |
23 |
24 | {% endraw %} -------------------------------------------------------------------------------- /source/donate/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: donate 3 | title: donate 4 | date: 2018-12-20 23:13:05 5 | keywords: 谢谢饲主了喵~ 6 | description: 7 | comments: false 8 | photos: https://cdn.jsdelivr.net/gh/honjun/cdn@1.4/img/banner/donate.jpg 9 | --- 10 | -------------------------------------------------------------------------------- /source/lab/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: lab 3 | comments: false 4 | date: 2019-01-05 21:47:59 5 | keywords: Lab实验室 6 | description: 7 | photos: https://cdn.jsdelivr.net/gh/honjun/cdn@1.4/img/banner/lab.jpg 8 | --- 9 | 10 | ## sakura主题 11 | balabala -------------------------------------------------------------------------------- /source/links/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: links 3 | title: links 4 | date: 2018-12-19 23:11:06 5 | keywords: 友人帐 6 | description: 7 | comments: true 8 | photos: https://cdn.jsdelivr.net/gh/honjun/cdn@1.4/img/banner/links.jpg 9 | links: 10 | - group: 个人项目 11 | desc: 充分说明这家伙是条咸鱼 < ( ̄︶ ̄)> 12 | items: 13 | - url: https://shino.cc/fgvf 14 | img: https://cloud.moezx.cc/Picture/svg/landscape/fields.svg 15 | name: Google 16 | desc: Google 镜像 17 | - url: https://shino.cc/fgvf 18 | img: https://cloud.moezx.cc/Picture/svg/landscape/fields.svg 19 | name: Google 20 | desc: Google 镜像 21 | - group: 小伙伴们 22 | desc: 欢迎交换友链 ꉂ(ˊᗜˋ) 23 | items: 24 | - url: https://shino.cc/fgvf 25 | img: https://cloud.moezx.cc/Picture/svg/landscape/fields.svg 26 | name: Google 27 | desc: Google 镜像 28 | - url: https://shino.cc/fgvf 29 | img: https://cloud.moezx.cc/Picture/svg/landscape/fields.svg 30 | name: Google 31 | desc: Google 镜像 32 | --- 33 | -------------------------------------------------------------------------------- /source/music/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: music 3 | date: 2018-12-20 23:14:28 4 | keywords: 喜欢的音乐 5 | description: 6 | comments: false 7 | photos: https://cdn.jsdelivr.net/gh/honjun/cdn@1.4/img/banner/music.jpg 8 | --- 9 | {% raw %} 10 | 15 | 16 | 17 | 22 | 23 | {% endraw %} -------------------------------------------------------------------------------- /source/rss/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: rss 3 | date: 2018-12-20 23:09:03 4 | photos: 5 | --- 6 | -------------------------------------------------------------------------------- /source/tags/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: tags 3 | date: 2018-12-12 22:14:16 4 | --- 5 | -------------------------------------------------------------------------------- /source/theme-sakura/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: theme-sakura 3 | comments: false 4 | date: 2019-01-04 22:53:25 5 | keywords: Hexo 主题 Sakura 🌸 6 | description: 7 | photos: https://static.2heng.xin/wp-content/uploads//2018/05/sakura2.jpeg 8 | --- 9 | Hexo主题Sakura修改自WordPress主题[Sakura](https://github.com/mashirozx/Sakura/),感谢原作者[Mashiro](https://2heng.xin/) -------------------------------------------------------------------------------- /source/video/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: video 3 | date: 2018-12-20 23:14:38 4 | keywords: B站 5 | description: 6 | comments: false 7 | photos: 8 | --- 9 | {% raw %} 10 | 32 | {% endraw %} 33 | 34 | {% raw %} 35 | 37 | 38 |
39 |
40 |
41 |
42 | 92 | {% endraw %} -------------------------------------------------------------------------------- /themes/Sakura/.gitignore: -------------------------------------------------------------------------------- 1 | # Created by https://www.gitignore.io/api/webstorm 2 | 3 | ### WebStorm ### 4 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio 5 | 6 | *.iml 7 | 8 | ## Directory-based project format: 9 | .idea/ 10 | # if you remove the above rule, at least ignore the following: 11 | 12 | # User-specific stuff: 13 | # .idea/workspace.xml 14 | # .idea/tasks.xml 15 | # .idea/dictionaries 16 | 17 | # Sensitive or high-churn files: 18 | # .idea/dataSources.ids 19 | # .idea/dataSources.xml 20 | # .idea/sqlDataSources.xml 21 | # .idea/dynamic.xml 22 | # .idea/uiDesigner.xml 23 | 24 | # Gradle: 25 | # .idea/gradle.xml 26 | # .idea/libraries 27 | 28 | # Mongo Explorer plugin: 29 | # .idea/mongoSettings.xml 30 | 31 | ## File-based project format: 32 | *.ipr 33 | *.iws 34 | 35 | ## Plugin-specific files: 36 | 37 | # IntelliJ 38 | /out/ 39 | 40 | # mpeltonen/sbt-idea plugin 41 | .idea_modules/ 42 | 43 | # JIRA plugin 44 | atlassian-ide-plugin.xml 45 | 46 | # Crashlytics plugin (for Android Studio and IntelliJ) 47 | com_crashlytics_export_strings.xml 48 | crashlytics.properties 49 | crashlytics-build.properties 50 | 51 | -------------------------------------------------------------------------------- /themes/Sakura/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "6.10.0" 4 | install: 5 | npm install 6 | -------------------------------------------------------------------------------- /themes/Sakura/CNAME: -------------------------------------------------------------------------------- 1 | sakura.hojun.cn -------------------------------------------------------------------------------- /themes/Sakura/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Mr.Seven 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /themes/Sakura/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/README.md -------------------------------------------------------------------------------- /themes/Sakura/README.zhCN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/README.zhCN.md -------------------------------------------------------------------------------- /themes/Sakura/_config.yml: -------------------------------------------------------------------------------- 1 | # site name 2 | prefixName: さくら荘その 3 | siteName: hojun 4 | # favicon and site master avatar 5 | favicon: /images/favicon.ico 6 | avatar: /img/custom/avatar.jpg 7 | url: https://sakura.hojun.cn 8 | description: Live your life with passion! With some drive! 9 | cdn: https://cdn.jsdelivr.net/gh/honjun/cdn@1.6 10 | pjax: 1 11 | # 1开启 12 | mathjax: 0 13 | 14 | notice: hexo-Sakura主题已经开源,目前正在开发中... 15 | lazyloadImg: https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/img/loader/orange.progress-bar-stripe-loader.svg 16 | 17 | menus: 18 | 首页: { path: /, fa: fa-fort-awesome faa-shake } 19 | 归档: { path: /archives, fa: fa-archive faa-shake, submenus: { 20 | 技术: {path: /categories/技术/, fa: fa-code }, 21 | 生活: {path: /categories/生活/, fa: fa-file-text-o }, 22 | 资源: {path: /categories/资源/, fa: fa-cloud-download }, 23 | 随想: {path: /categories/随想/, fa: fa-commenting-o }, 24 | 转载: {path: /categories/转载/, fa: fa-book } 25 | } } 26 | 清单: { path: javascript:;, fa: fa-list-ul faa-vertical, submenus: { 27 | 书单: {path: /tags/悦读/, fa: fa-th-list faa-bounce }, 28 | 番组: {path: /bangumi/, fa: fa-film faa-vertical }, 29 | 歌单: {path: /music/, fa: fa-headphones }, 30 | 图集: {path: /tags/图集/, fa: fa-photo } 31 | } } 32 | 留言板: { path: /comment/, fa: fa-pencil-square-o faa-tada } 33 | 友人帐: { path: /links/, fa: fa-link faa-shake } 34 | 赞赏: { path: /donate/, fa: fa-heart faa-pulse } 35 | 关于: { path: /, fa: fa-leaf faa-wrench , submenus: { 36 | 我?: {path: /about/, fa: fa-meetup}, 37 | 主题: {path: /theme-sakura/, fa: iconfont icon-sakura }, 38 | Lab: {path: /lab/, fa: fa-cogs }, 39 | } } 40 | 客户端: { path: /client/, fa: fa-android faa-vertical } 41 | RSS: { path: /atom.xml, fa: fa-rss faa-pulse } 42 | 43 | 44 | # Home page sort type: -1: newer first,1: older first. 45 | homePageSortType: -1 46 | # Home page article shown number) 47 | homeArticleShown: 10 48 | # 背景图片 更好的修改 49 | bg: 50 | - https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/img/cover/(1).jpg.webp 51 | - https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/img/cover/(2).jpg.webp 52 | - https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/img/cover/(3).jpg.webp 53 | - https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/img/cover/(4).jpg.webp 54 | - https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/img/cover/(5).jpg.webp 55 | - https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/img/cover/(6).jpg.webp 56 | - https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/img/cover/(7).jpg.webp 57 | - https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/img/cover/(8).jpg.webp 58 | 59 | # 背景图片样式 空 原图效果 filter-dim 阴影 filter-grid 横条 filter-dot 点点 60 | bgclass: filter-dot 61 | 62 | # startdash url, title, desc img 63 | startdash: 64 | - {url: /theme-sakura/, title: Sakura, desc: 本站 hexo 主题, img: /img/startdash/sakura.md.png} 65 | - {url: http://space.bilibili.com/271849279, title: Bilibili, desc: 博主的b站视频, img: /img/startdash/bilibili.jpg} 66 | - {url: /, title: hojun的万事屋, desc: 技术服务, img: /img/startdash/wangshiwu.jpg} 67 | 68 | 69 | 70 | # your site build time or founded date 71 | siteBuildingTime: 07/17/2018 72 | 73 | #social url, img PC端配置 74 | social: 75 | github: {url: http://github.com/honjun, img: /img/social/github.png} 76 | sina: {url: http://weibo.com/mashirozx?is_all=1, img: /img/social/sina.png} 77 | wangyiyun: {url: http://weibo.com/mashirozx?is_all=1, img: /img/social/wangyiyun.png} 78 | zhihu: {url: http://weibo.com/mashirozx?is_all=1, img: /img/social/zhihu.png} 79 | email: {url: http://weibo.com/mashirozx?is_all=1, img: /img/social/email.svg} 80 | wechat: {url: /#, qrcode: /img/custom/wechat.jpg, img: /img/social/wechat.png} 81 | wechat2: {url: /#, qrcode: /img/custom/wechat.jpg, img: /img/social/wechat.png} 82 | 83 | #social url, img 移动端配置 84 | msocial: 85 | github: {url: http://github.com/honjun, fa: fa-github, color: 333} 86 | weibo: {url: http://weibo.com/mashirozx?is_all=1, fa: fa-weibo, color: dd4b39} 87 | qq: {url: https://wpa.qq.com/msgrd?v=3&uin=954655431&site=qq&menu=yes, fa: fa-qq, color: 25c6fe} 88 | 89 | donate: 90 | paypal: https://www.paypal.me/hojuncn 91 | alipay: /img/custom/donate/AliPayQR.jpg 92 | wechat: /img/custom/donate/WeChanQR.jpg 93 | wechatSQ: /img/custom/donate/WeChanSQ.jpg 94 | 95 | # 视频地址为https://cdn.jsdelivr.net/gh/honjun/hojun@1.2/Unbroken.mp4,配置如下 96 | movies: 97 | url: https://cdn.jsdelivr.net/gh/honjun/hojun@1.2 98 | # 多个视频用逗号隔开,随机获取。支持的格式目前已知MP4,Flv。其他的可以试下,不保证有用 99 | name: Unbroken.mp4 100 | 101 | aplayer: 102 | id: 2660651585 103 | server: netease 104 | type: playlist 105 | fixed: true 106 | autoplay: false 107 | loop: all 108 | order: random 109 | preload: auto 110 | volume: 0.7 111 | mutex: true 112 | 113 | # Valine 114 | valine: true 115 | v_appId: GyC3NzMvd0hT9Yyd2hYIC0MN-gzGzoHsz 116 | v_appKey: mgOpfzbkHYqU92CV4IDlAUHQ 117 | 118 | # Waline 119 | waline: 120 | enable: false 121 | serverURL: #服务端地址 122 | visitor: false #统计阅读量 123 | comment_count: true #统计评论数 124 | avatar: mp # Gravatar style : mp/identicon/monsterid/wavatar/retro/hide 125 | guest_info: nick #,mail,link # custom comment header 126 | pageSize: 10 127 | placeholder: 祝开开心心! # Comment Box placeholder 128 | requiredFields: [ 'nick','mail' ] #设置必填项 129 | background: https://gitee.com/cungudafa/source/raw/master/img/gif/Sitich/Sitich2.gif #输入框提示动画 -------------------------------------------------------------------------------- /themes/Sakura/languages/en.yml: -------------------------------------------------------------------------------- 1 | home: Home 2 | archives: Archives 3 | about: About 4 | categories: Categories 5 | series: Series 6 | search: Search 7 | searchPlaceHolder: Input Search key Words Here 8 | tags: Tags 9 | tagcloud: Tag Cloud 10 | video: Video 11 | help: Help 12 | prev: Prev 13 | next: Next 14 | comment: Comments 15 | page: Page %d 16 | recent_posts: Recent Posts 17 | newer: Newer 18 | older: Older 19 | share: Share 20 | theme_by: Theme by 21 | rss_feed: RSS Feed 22 | category: Category 23 | tag: Tag 24 | connect: 'Connect With Us' 25 | post_total_count: There are %d posts in total till now. 26 | read_more: Continue Reading → 27 | contents: Contents 28 | none: None 29 | insight: 30 | hint: 'Type something...' 31 | posts: 'Posts' 32 | pages: 'Pages' 33 | categories: 'Categories' 34 | tags: 'Tags' 35 | untitled: '(Untitled)' -------------------------------------------------------------------------------- /themes/Sakura/languages/zh-cn.yml: -------------------------------------------------------------------------------- 1 | home: 首页 2 | archives: 文章归档 3 | about: 关于作者 4 | categories: 分类 5 | series: 系列文章 6 | search: 搜索 7 | searchPlaceHolder: 请输入关键字 8 | tags: 标签 9 | tagcloud: 标签云 10 | video: 视频资源 11 | help: 关于本站 12 | links: 友情链接 13 | photo: 图集 14 | book: 悦读 15 | music: 音乐 16 | cloud: 资源 17 | prev: 18 | next: 19 | comment: 留言 20 | page: 第 %d 页 21 | recent_posts: 最新文章 22 | newer: 上一篇 23 | older: 下一篇 24 | share: 分享 25 | theme_by: Theme by 26 | rss_feed: RSS Feed 27 | category: Category 28 | tag: Tag 29 | connect: '联系我们' 30 | post_total_count: 嗯,目前共计%d篇文章 31 | read_more: '阅读全文' 32 | contents: 文章目录 33 | 34 | none: 无 35 | insight: 36 | hint: '请输入关键词...' 37 | posts: '文章' 38 | pages: '页面' 39 | categories: '分类' 40 | tags: '标签' 41 | untitled: '(无标题)' 42 | 43 | #category 44 | 技术: 45 | zh: 野生技术协会 46 | en: Geek – Only for Love 47 | img: https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/img/banner/coding.jpg 48 | 生活: 49 | zh: 生活 50 | en: live 51 | img: https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/img/banner/writing.jpg 52 | 53 | #tag 54 | 悦读: 55 | img: https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/img/banner/reading.jpg -------------------------------------------------------------------------------- /themes/Sakura/layout/_partial/_page.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_widget/common-page', {post: post}) %> -------------------------------------------------------------------------------- /themes/Sakura/layout/_partial/_post.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_widget/common-article', {post: post}) %> -------------------------------------------------------------------------------- /themes/Sakura/layout/_partial/aplayer.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 31 | 33 | <%- i %>="<%- theme.aplayer[i] %>" 34 | <% } %> 35 | 36 | -------------------------------------------------------------------------------- /themes/Sakura/layout/_partial/archive.ejs: -------------------------------------------------------------------------------- 1 | <% if (pagination == 2){ %> 2 | 3 | <% page.posts.sort('date', theme.homePageSortType).limit(theme.homeArticleShown).each(function(post, index){ %> 4 | <%- partial('_widget/index-items', {index: index, post: post}) %> 5 | <% }) %> 6 | <% } else { %> 7 | <% page.posts.each(function(post, index){ %> 8 | <%- partial('_widget/index-items', {index: index, post: post}) %> 9 | <% }) %> 10 | <% } %> 11 | -------------------------------------------------------------------------------- /themes/Sakura/layout/_partial/category-archive.ejs: -------------------------------------------------------------------------------- 1 | <% if (pagination == 2){ %> 2 | 3 | <% page.posts.sort('date', theme.homePageSortType).limit(theme.homeArticleShown).each(function(post, index){ %> 4 | <%- partial('_widget/category-items', {index: index, post: post}) %> 5 | <% }) %> 6 | <% } else { %> 7 | <% page.posts.each(function(post, index){ %> 8 | <%- partial('_widget/category-items', {index: index, post: post}) %> 9 | <% }) %> 10 | <% } %> 11 | -------------------------------------------------------------------------------- /themes/Sakura/layout/_partial/comment.ejs: -------------------------------------------------------------------------------- 1 | <% if (theme.valine && post.comments) { %> 2 |
3 | 15 | <% } %> 16 | 17 | <% if (theme.waline.enable && post.comments) { %> 18 | 19 |
20 | 26 | 44 | <% } %> 45 | -------------------------------------------------------------------------------- /themes/Sakura/layout/_partial/footer.ejs: -------------------------------------------------------------------------------- 1 | 12 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 55 | 95 | -------------------------------------------------------------------------------- /themes/Sakura/layout/_partial/head.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | <% 7 | var title = page.title; 8 | 9 | if (is_archive()){ 10 | title = __('archive_a'); 11 | 12 | if (is_month()){ 13 | title += ': ' + page.year + '/' + page.month; 14 | } else if (is_year()){ 15 | title += ': ' + page.year; 16 | } 17 | } else if (is_category()){ 18 | title = __('category') + ': ' + page.category; 19 | } else if (is_tag()){ 20 | title = __('tag') + ': ' + page.tag; 21 | } 22 | %> 23 | <% if (title){ %><%= title %> | <% } %><%= config.title %> 24 | <% if (theme.favicon){ %> 25 | 26 | <% } %> 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 39 | 66 | 73 | 76 | 78 | 79 | -------------------------------------------------------------------------------- /themes/Sakura/layout/_partial/header.ejs: -------------------------------------------------------------------------------- 1 | 57 | -------------------------------------------------------------------------------- /themes/Sakura/layout/_partial/headertop.ejs: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 |
5 |
6 |
7 | 8 | 9 | 10 |
11 |
12 |

<%= theme.description %>

13 |
14 |
  • 15 | 16 |
  • 17 | <% if (theme.social) {%> 18 | <% for (i in theme.social) {%> 19 | <% if (theme.social[i].qrcode) {%> 20 |
  • 21 | 22 | 23 | 24 |
    25 | 26 |
    27 |
  • 28 | <% } else { %> 29 |
  • 30 | 33 |
  • 34 | <% } %> 35 | <% } %> 36 | <% } %> 37 |
  • 38 | 39 |
  • 40 |
    41 |
    42 |
    43 |
    44 |
    45 | 47 |
    48 |
    49 |
    50 |
    51 |
    52 |
    53 |
    54 |
    55 | 56 | 58 | 59 |
    60 |
    -------------------------------------------------------------------------------- /themes/Sakura/layout/_partial/mheader.ejs: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 |
    5 |

    <%- theme.prefixName%><%- theme.siteName%>

    6 |

    7 | <% if (theme.msocial) {%> 8 | <% for (var i in theme.msocial) {%> 9 | 10 | <% } %> 11 | <% } %> 12 |

    13 | 37 |

    © 2019 hexo-sakura

    38 |
    39 | -------------------------------------------------------------------------------- /themes/Sakura/layout/_partial/startdash.ejs: -------------------------------------------------------------------------------- 1 |
    2 |

    3 | 5 | START:DASH!!

    6 | <% for (dash in theme.startdash) { %> 7 |
    8 | 19 |
    20 | <% } %> 21 |
    -------------------------------------------------------------------------------- /themes/Sakura/layout/_widget/category-items.ejs: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 12 |

    13 | 14 | <%= post.title %> 15 |

    16 |
    17 | 18 | 19 | <%= date(post.date, 'YYYY-M-D') %>
    20 |

    21 | <%= post.description %>

    22 | 30 |
    31 |
    32 |
    -------------------------------------------------------------------------------- /themes/Sakura/layout/_widget/common-article.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 |
    4 | <% if (post.photos && post.photos.length){ %> 5 |
    6 | 7 |
    8 |
    9 |
    10 |

    11 | <%- post.title %>

    12 |

    13 | 14 | 15 | 16 | 17 | 18 | 19 | <%- post.author %> 20 | 21 | 22 | · 23 | <%= date(post.date, 'YYYY-M-D') %> 24 | · 25 | 次阅读

    26 |
    27 |
    28 | <% } %> 29 |
    30 |
    31 |
    32 |
    33 |
    34 | 35 | <% if (!post.photos[0]){ %> 36 |
    37 |

    <%- post.title %>

    38 |

    <%- post.author %> · <%= date(post.date, 'YYYY-M-D') %> · 次阅读

    39 | 40 |
    41 |
    42 | <% } %> 43 |
    44 | <%- post.content %> 45 |
    46 | 47 |
    48 |
    赏 49 |
    50 |
      51 |
    • 52 |
    • 53 |
    54 |
    55 |
    56 |
    57 | 58 | 67 |
    68 | 69 |
    70 |
    71 | <% if (post.prev){ %> 72 | <% if (post.next) { %> 73 |
    112 | <%- partial('_partial/comment') %> 113 |
    114 | 123 |
    124 |

    <%- post.authorAbout%>

    125 |
    126 |
    127 |
    128 |
    129 | 130 | <% if (post.mathjax) { %> 131 | 132 | 135 | <% } %> 136 | -------------------------------------------------------------------------------- /themes/Sakura/layout/_widget/common-page.ejs: -------------------------------------------------------------------------------- 1 |
    2 | <% if (post.photos && post.photos.length){ %> 3 |
    4 |
    5 | 6 |
    7 |
    8 |

    9 | <%= post.keywords %>

    10 |
    11 |
    12 | <% } %> 13 |
    14 |
    15 | <%- post.content %> 16 | 17 | <%- partial('_partial/comment') %> 18 |
    19 |
    赏 20 |
    21 |
      22 |
    • 23 |
    • 24 |
    25 |
    26 |
    27 |
    28 | 29 | 38 |
    39 | 40 |
    41 | 50 |
    51 |

    <%- theme.description%>

    52 |
    53 |
    54 | -------------------------------------------------------------------------------- /themes/Sakura/layout/_widget/index-items.ejs: -------------------------------------------------------------------------------- 1 | <% var external_link = config.external_link ? '_blank' : '_self'; %> 2 |
    class="post post-list-thumb post-list-thumb-left" <% } %> class="post post-list-thumb" itemscope="" itemtype="https://schema.org/BlogPosting"> 3 | 4 |
    5 | 6 | 7 | 8 |
    9 |
    10 |
    11 | 14 | 15 |

    <%= post.title %>

    16 |
    17 | 30 |
    31 |

    <%= post.description %>

    32 |
    33 | 34 | 35 | 36 |
    37 |
    38 |
    39 |
    40 |
    -------------------------------------------------------------------------------- /themes/Sakura/layout/_widget/search/insight.ejs: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /themes/Sakura/layout/archive.ejs: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |
    5 | 13 |
    14 |
    15 |
    16 |
    17 |
    18 |

    19 | [ 20 | 全部展开/收缩 21 | ]

    22 | <% var lastYear; var lastMonth; %> 23 | <% site.posts.sort('date', theme.homePageSortType).each(function(post, i){ %> 24 | <% var currentYear = parseInt(date(post.date, 'YYYY')); %> 25 | <% var currentMonth = parseInt(date(post.date, 'YYYYMM')); %> 26 | <% if (lastYear != currentYear){ %> 27 | <% lastYear = currentYear; %> 28 |

    <%= date(post.date, 'YYYY') %>年

    29 | <% } %> 30 | <% if (lastMonth != currentMonth){ %> 31 | <% lastMonth = currentMonth; %> 32 | 51 | <% } %> 52 | <% }) %> 53 |
    54 |
    55 |
    56 |
    57 |
    58 |
    59 |
    60 | -------------------------------------------------------------------------------- /themes/Sakura/layout/bangumi.ejs: -------------------------------------------------------------------------------- 1 | 2 |
    3 |
    4 |
    5 | 6 | <% if (page.bangumis) { %> 7 |
    8 |
    9 | <% (page.bangumis||[]).forEach(function (bangumi, index) { %> 10 |
    11 |
    12 |
    13 |
    14 |
    15 |
    16 |
    17 |
    18 | <%- bangumi.title %> 19 |
    20 |

    21 | <%- bangumi.jp %>

    22 |
      23 |
    • 24 |
      25 | <%- bangumi.status %>
      26 | 27 | 28 |
    • 29 |
    30 |
    31 | 52 |
    53 |
    54 | <% }) %> 55 |
    56 |
    57 | <% } %> 58 |
    59 |
    -------------------------------------------------------------------------------- /themes/Sakura/layout/category.ejs: -------------------------------------------------------------------------------- 1 | <% 2 | var img = page.category + '.img'; 3 | var zh = page.category + '.zh'; 4 | var en = page.category + '.en'; 5 | %> 6 |
    7 |
    8 |
    9 | 10 |
    11 |
    12 |

    <%= __(zh) %>

    13 | 14 |

    <%= __(en) %>

    15 |
    16 |
    17 |
    18 |
    19 |
    20 |
    21 | <%- partial('_partial/category-archive', {pagination: 2, index: true}) %> 22 |
    23 |
    24 |
    25 | 34 | <% if (page.total > 1 && page.next_link){ %> 35 | 36 | <% } %> 37 |
    38 |
    39 | 40 | -------------------------------------------------------------------------------- /themes/Sakura/layout/donate.ejs: -------------------------------------------------------------------------------- 1 | 2 |
    3 |
    4 |
    5 |
    6 | 7 |
    8 |
    9 |

    谢谢饲主了喵~

    10 |
    11 |
    12 |
    13 |
    14 | 如果喜欢我的博客,可以考虑资助一下哦~非常感激! 15 |
    16 |
    17 | 18 |
      19 | 20 |
    • PayPal
    • 21 |
    • AliPay
    • 22 |
    • WeChat
    • 23 |
    24 |
    Donate
    25 |
    26 |
    27 |
    28 | 29 | 30 |
    31 |
    32 | 33 | 42 |
    43 |
    44 | 53 |
    54 |

    <%- theme.description%>

    55 |
    56 |
    57 | 58 | 59 | 102 | -------------------------------------------------------------------------------- /themes/Sakura/layout/index.ejs: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | <% if (theme.notice) { %> 4 |
    5 | 6 | 7 |
    <%= theme.notice%>
    8 |
    9 | <% } %> 10 | <%- partial('_partial/startdash') %> 11 |
    12 |
    13 |

    14 | 15 | Discovery

    16 | <%- partial('_partial/archive', {pagination: 2, index: true}) %> 17 |
    18 | 19 | 28 |
    29 | <% if (page.total > 1 && page.next_link){ %> 30 | 31 | <% } %> 32 |
    33 | -------------------------------------------------------------------------------- /themes/Sakura/layout/layout.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/head') %> 2 | 3 |
    4 |
    5 | 6 |
    7 | <%- partial('_partial/headertop', null, {cache: !config.relative_link}) %> 8 |
    9 | <%- partial('_partial/header', null, {cache: !config.relative_link}) %> 10 | <%- body %> 11 |
    12 | <%- partial('_widget/search/insight') %> 13 | <%- partial('_partial/footer', null, {cache: !config.relative_link}) %> 14 |
    15 |
    16 |
    17 |
    18 |
    19 | 20 |
    21 |
    22 |
    23 | <%- partial('_partial/mheader', null, {cache: !config.relative_link}) %> 24 | <%- partial('_partial/aplayer', null, {cache: !config.relative_link}) %> 25 | 26 | -------------------------------------------------------------------------------- /themes/Sakura/layout/links.ejs: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |
    5 | 6 |
    7 |
    8 |

    9 | 友人帐

    10 |
    11 |
    12 |
    13 |
    14 |

    15 | 欢迎交换友链 ꉂ(ˊᗜˋ)

    16 |

    17 | 请留言告诉我你的:
    18 | 1、名字
    19 | 2、一句话介绍(熟人我会亲自帮写的)
    20 | 3、主页地址
    21 | 4、头像(HTTPS*,可在评论区上传)

    22 |

    23 | For Example:
    24 | ★ Name: hojun
    25 | ★ Bio: 好少年光芒万丈
    26 | ★ URL: https://www.hojun.cn
    27 | ★ Avatar: 28 | 获取嵌入代码 29 |

    30 |

    31 | ※ 为保证友链质量,今后新申请的友链将经过筛选,请在收到我的回复邮件后再于贵站添加本站链接。原则上过去已添加友链不会轻易删除,如遇死链、改变网站用途(友链主要针对的是同类的博客),将单独移至“阵亡将士”分类中,下次清理时未整改的将移除;如遇盗版、破解、网页植入挖矿脚本、极低质量内容、单方面移除本站链接,将直接移除,恕不另行通知。

    32 | <% if (page.links) { %> 33 | 54 | <% } %> 55 | <%- partial('_partial/comment', {post: page}) %> 56 | 57 | 66 |
    67 |
    68 | 77 |
    78 |

    <%- theme.description%>

    79 |
    80 | 116 |
    -------------------------------------------------------------------------------- /themes/Sakura/layout/page.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/_page', {post: page, index: false}) %> -------------------------------------------------------------------------------- /themes/Sakura/layout/post.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/_post', {post: page, index: false}) %> -------------------------------------------------------------------------------- /themes/Sakura/layout/tag.ejs: -------------------------------------------------------------------------------- 1 | <% 2 | var img = page.tag + '.img'; 3 | //var zh = page.tag + '.zh'; 4 | //var en = page.tag + '.en'; 5 | %> 6 |
    7 |
    8 |
    9 | src="<%- theme.lazyloadImg%>" data-src="<%= __(img)%>"<%} else {%>src="<%- theme.lazyloadImg%>" data-src="https://view.moezx.cc/images/2017/12/03/writing.jpg"<%} %> class="lazyload" onerror="imgError(this,3)" style="width: 100%; height: 100%; object-fit: cover; pointer-events: none;"> 10 |
    11 |
    12 |

    <%= __(page.tag) %>

    13 |
    14 |
    15 |
    16 |
    17 |
    18 | <%- partial('_partial/category-archive', {pagination: 2, index: true}) %> 19 |
    20 |
    21 |
    22 | 31 | <% if (page.total > 1 && page.next_link){ %> 32 | 33 | <% } %> 34 |
    35 |
    -------------------------------------------------------------------------------- /themes/Sakura/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hexo-theme-jsimple", 3 | "version": "0.0.2", 4 | "description": "Simple three column theme for Hexo.Inspired by JianShu.com", 5 | "license": "MIT", 6 | "dependencies": { 7 | "hexo-renderer-ejs": "^0.2.0", 8 | "hexo-renderer-marked": "^0.2.11" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "git+https://github.com/tangkunyin/hexo-theme-jsimple.git" 13 | }, 14 | "keywords": [ 15 | "Simple", 16 | "Three Column", 17 | "Jian Shu", 18 | "Hexo" 19 | ], 20 | "bugs": { 21 | "url": "https://github.com/tangkunyin/hexo-theme-jsimple/issues" 22 | }, 23 | "author": { 24 | "name": "tangsir", 25 | "url": "https://www.tangkunyin.com", 26 | "email": "iam@tangkunyin.com" 27 | } 28 | } -------------------------------------------------------------------------------- /themes/Sakura/source/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 404 - Not Found 6 | 7 | 100 | 112 | 113 | 114 | 125 | 126 | 127 | 128 | -------------------------------------------------------------------------------- /themes/Sakura/source/css/APlayer.min.css: -------------------------------------------------------------------------------- 1 | .aplayer{background:#fff;font-family:Arial,Helvetica,sans-serif;margin:5px;box-shadow:0 2px 2px 0 rgba(0,0,0,.07),0 1px 5px 0 rgba(0,0,0,.1);border-radius:2px;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:normal;position:relative}.aplayer *{box-sizing:content-box}.aplayer svg{width:100%;height:100%}.aplayer svg circle,.aplayer svg path{fill:#fff}.aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid #e9e9e9}.aplayer.aplayer-withlist .aplayer-list{display:block}.aplayer.aplayer-withlist .aplayer-icon-order,.aplayer.aplayer-withlist .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon.aplayer-icon-menu{display:inline}.aplayer.aplayer-withlrc .aplayer-pic{height:90px;width:90px}.aplayer.aplayer-withlrc .aplayer-info{margin-left:90px;height:90px;padding:10px 7px 0}.aplayer.aplayer-withlrc .aplayer-lrc{display:block}.aplayer.aplayer-narrow{width:66px}.aplayer.aplayer-narrow .aplayer-info,.aplayer.aplayer-narrow .aplayer-list{display:none}.aplayer.aplayer-narrow .aplayer-body,.aplayer.aplayer-narrow .aplayer-pic{height:66px;width:66px}.aplayer.aplayer-fixed{position:fixed;bottom:0;left:0;right:0;margin:0;z-index:99;overflow:visible;max-width:400px;box-shadow:none}.aplayer.aplayer-fixed .aplayer-list{margin-bottom:65px;border:1px solid #eee;border-bottom:none}.aplayer.aplayer-fixed .aplayer-body{position:fixed;bottom:0;left:0;right:0;margin:0;z-index:99;background:#fff;padding-right:18px;transition:all .3s ease;max-width:400px}.aplayer.aplayer-fixed .aplayer-lrc{display:block;position:fixed;bottom:10px;left:0;right:0;margin:0;z-index:98;pointer-events:none;text-shadow:-1px -1px 0 #fff}.aplayer.aplayer-fixed .aplayer-lrc:after,.aplayer.aplayer-fixed .aplayer-lrc:before{display:none}.aplayer.aplayer-fixed .aplayer-info{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:0 0;transform-origin:0 0;transition:all .3s ease;border-bottom:none;border-top:1px solid #e9e9e9}.aplayer.aplayer-fixed .aplayer-info .aplayer-music{width:calc(100% - 105px)}.aplayer.aplayer-fixed .aplayer-miniswitcher{display:block}.aplayer.aplayer-fixed.aplayer-narrow .aplayer-info{display:block;-webkit-transform:scaleX(0);transform:scaleX(0)}.aplayer.aplayer-fixed.aplayer-narrow .aplayer-body{width:66px!important}.aplayer.aplayer-fixed.aplayer-narrow .aplayer-miniswitcher .aplayer-icon{-webkit-transform:rotateY(0);transform:rotateY(0)}.aplayer.aplayer-fixed .aplayer-icon-back,.aplayer.aplayer-fixed .aplayer-icon-forward,.aplayer.aplayer-fixed .aplayer-icon-lrc,.aplayer.aplayer-fixed .aplayer-icon-play{display:inline-block}.aplayer.aplayer-fixed .aplayer-icon-back,.aplayer.aplayer-fixed .aplayer-icon-forward,.aplayer.aplayer-fixed .aplayer-icon-menu,.aplayer.aplayer-fixed .aplayer-icon-play{position:absolute;bottom:27px;width:20px;height:20px}.aplayer.aplayer-fixed .aplayer-icon-back{right:75px}.aplayer.aplayer-fixed .aplayer-icon-play{right:50px}.aplayer.aplayer-fixed .aplayer-icon-forward{right:25px}.aplayer.aplayer-fixed .aplayer-icon-menu{right:0}.aplayer.aplayer-arrow .aplayer-icon-loop,.aplayer.aplayer-arrow .aplayer-icon-order,.aplayer.aplayer-mobile .aplayer-icon-volume-down{display:none}.aplayer.aplayer-loading .aplayer-info .aplayer-controller .aplayer-loading-icon{display:block}.aplayer.aplayer-loading .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played .aplayer-thumb{-webkit-transform:scale(1);transform:scale(1)}.aplayer .aplayer-body{position:relative}.aplayer .aplayer-icon{width:15px;height:15px;border:none;background-color:transparent;outline:none;cursor:pointer;opacity:.8;vertical-align:middle;padding:0;font-size:12px;margin:0;display:inline-block}.aplayer .aplayer-icon path{transition:all .2s ease-in-out}.aplayer .aplayer-icon-back,.aplayer .aplayer-icon-forward,.aplayer .aplayer-icon-lrc,.aplayer .aplayer-icon-order,.aplayer .aplayer-icon-play{display:none}.aplayer .aplayer-icon-lrc-inactivity svg{opacity:.4}.aplayer .aplayer-icon-forward{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.aplayer .aplayer-lrc-content{display:none}.aplayer .aplayer-pic{position:relative;float:left;height:66px;width:66px;background-size:cover;background-position:50%;transition:all .3s ease;cursor:pointer}.aplayer .aplayer-pic:hover .aplayer-button{opacity:1}.aplayer .aplayer-pic .aplayer-button{position:absolute;border-radius:50%;opacity:.8;text-shadow:0 1px 1px rgba(0,0,0,.2);box-shadow:0 1px 1px rgba(0,0,0,.2);background:rgba(0,0,0,.2);transition:all .1s ease}.aplayer .aplayer-pic .aplayer-button path{fill:#fff}.aplayer .aplayer-pic .aplayer-hide{display:none}.aplayer .aplayer-pic .aplayer-play{width:26px;height:26px;border:2px solid #fff;bottom:50%;right:50%;margin:0 -15px -15px 0}.aplayer .aplayer-pic .aplayer-play svg{position:absolute;top:3px;left:4px;height:20px;width:20px}.aplayer .aplayer-pic .aplayer-pause{width:16px;height:16px;border:2px solid #fff;bottom:4px;right:4px}.aplayer .aplayer-pic .aplayer-pause svg{position:absolute;top:2px;left:2px;height:12px;width:12px}.aplayer .aplayer-info{margin-left:66px;padding:14px 7px 0 10px;height:66px;box-sizing:border-box}.aplayer .aplayer-info .aplayer-music{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0 0 13px 5px;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;cursor:default;padding-bottom:2px;height:20px}.aplayer .aplayer-info .aplayer-music .aplayer-title{font-size:14px}.aplayer .aplayer-info .aplayer-music .aplayer-author{font-size:12px;color:#666}.aplayer .aplayer-info .aplayer-controller{position:relative;display:flex}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap{margin:0 0 0 5px;padding:4px 0;cursor:pointer!important;flex:1}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap:hover .aplayer-bar .aplayer-played .aplayer-thumb{-webkit-transform:scale(1);transform:scale(1)}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar{position:relative;height:2px;width:100%;background:#cdcdcd}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-loaded{position:absolute;left:0;top:0;bottom:0;background:#aaa;height:2px;transition:all .5s ease}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played{position:absolute;left:0;top:0;bottom:0;height:2px}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played .aplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:10px;width:10px;border-radius:50%;cursor:pointer;transition:all .3s ease-in-out;-webkit-transform:scale(0);transform:scale(0)}.aplayer .aplayer-info .aplayer-controller .aplayer-time{position:relative;right:0;bottom:4px;height:17px;color:#999;font-size:11px;padding-left:7px}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-time-inner{vertical-align:middle}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon{cursor:pointer;transition:all .2s ease}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:#666}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon.aplayer-icon-loop{margin-right:2px}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:#000}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon.aplayer-icon-menu,.aplayer .aplayer-info .aplayer-controller .aplayer-time.aplayer-time-narrow .aplayer-icon-menu,.aplayer .aplayer-info .aplayer-controller .aplayer-time.aplayer-time-narrow .aplayer-icon-mode{display:none}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap{position:relative;display:inline-block;margin-left:3px;cursor:pointer!important}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap:hover .aplayer-volume-bar-wrap{height:40px}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap{position:absolute;bottom:15px;right:-3px;width:25px;height:0;z-index:99;overflow:hidden;transition:all .2s ease-in-out}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap.aplayer-volume-bar-wrap-active{height:40px}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap .aplayer-volume-bar{position:absolute;bottom:0;right:10px;width:5px;height:35px;background:#aaa;border-radius:2.5px;overflow:hidden}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap .aplayer-volume-bar .aplayer-volume{position:absolute;bottom:0;right:0;width:5px;transition:all .1s ease}.aplayer .aplayer-info .aplayer-controller .aplayer-loading-icon{display:none}.aplayer .aplayer-info .aplayer-controller .aplayer-loading-icon svg{position:absolute;-webkit-animation:rotate 1s linear infinite;animation:rotate 1s linear infinite}.aplayer .aplayer-lrc{display:none;position:relative;height:30px;text-align:center;overflow:hidden;margin:-10px 0 7px}.aplayer .aplayer-lrc:before{top:0;height:10%;background:linear-gradient(180deg,#fff 0,hsla(0,0%,100%,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#00ffffff",GradientType=0)}.aplayer .aplayer-lrc:after,.aplayer .aplayer-lrc:before{position:absolute;z-index:1;display:block;overflow:hidden;width:100%;content:" "}.aplayer .aplayer-lrc:after{bottom:0;height:33%;background:linear-gradient(180deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.8));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff",endColorstr="#ccffffff",GradientType=0)}.aplayer .aplayer-lrc p{font-size:12px;color:#666;line-height:16px!important;height:16px!important;padding:0!important;margin:0!important;transition:all .5s ease-out;opacity:.4;overflow:hidden}.aplayer .aplayer-lrc p.aplayer-lrc-current{opacity:1;overflow:visible;height:auto!important;min-height:16px}.aplayer .aplayer-lrc.aplayer-lrc-hide{display:none}.aplayer .aplayer-lrc .aplayer-lrc-contents{width:100%;transition:all .5s ease-out;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;cursor:default}.aplayer .aplayer-list{overflow:auto;transition:all .5s ease;will-change:height;display:none;overflow:hidden}.aplayer .aplayer-list.aplayer-list-hide{max-height:0!important}.aplayer .aplayer-list ol{list-style-type:none;margin:0;padding:0;overflow-y:auto}.aplayer .aplayer-list ol::-webkit-scrollbar{width:5px}.aplayer .aplayer-list ol::-webkit-scrollbar-thumb{border-radius:3px;background-color:#eee}.aplayer .aplayer-list ol::-webkit-scrollbar-thumb:hover{background-color:#ccc}.aplayer .aplayer-list ol li{position:relative;height:32px;line-height:32px;padding:0 15px;font-size:12px;border-top:1px solid #e9e9e9;cursor:pointer;transition:all .2s ease;overflow:hidden;margin:0}.aplayer .aplayer-list ol li:first-child{border-top:none}.aplayer .aplayer-list ol li:hover{background:#efefef}.aplayer .aplayer-list ol li.aplayer-list-light{background:#e9e9e9}.aplayer .aplayer-list ol li.aplayer-list-light .aplayer-list-cur{display:inline-block}.aplayer .aplayer-list ol li .aplayer-list-cur{display:none;width:3px;height:22px;position:absolute;left:0;top:5px;cursor:pointer}.aplayer .aplayer-list ol li .aplayer-list-index{color:#666;margin-right:12px;cursor:pointer}.aplayer .aplayer-list ol li .aplayer-list-author{color:#666;float:right;cursor:pointer}.aplayer .aplayer-notice{opacity:0;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);font-size:12px;border-radius:4px;padding:5px 10px;transition:all .3s ease-in-out;overflow:hidden;color:#fff;pointer-events:none;background-color:#f4f4f5;color:#909399}.aplayer .aplayer-miniswitcher{display:none;position:absolute;top:0;right:0;bottom:0;height:100%;background:#e6e6e6;width:18px;border-radius:0 2px 2px 0}.aplayer .aplayer-miniswitcher .aplayer-icon{height:100%;width:100%;-webkit-transform:rotateY(180deg);transform:rotateY(180deg);transition:all .3s ease}.aplayer .aplayer-miniswitcher .aplayer-icon path{fill:#666}.aplayer .aplayer-miniswitcher .aplayer-icon:hover path{fill:#000}@-webkit-keyframes aplayer-roll{0%{left:0}to{left:-100%}}@keyframes aplayer-roll{0%{left:0}to{left:-100%}}@-webkit-keyframes rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}} 2 | 3 | /*# sourceMappingURL=APlayer.min.css.map*/ -------------------------------------------------------------------------------- /themes/Sakura/source/css/bangumi.css: -------------------------------------------------------------------------------- 1 | .should-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:95%;}.should-ellipsis-full{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;}.should-ellipsis i{position:absolute;right:24px;}.grey-text{color:#9e9e9e !important}.grey-text.text-darken-4{color:#212121 !important}html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}img{border-style:none}progress{display:inline-block;vertical-align:baseline}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,*:before,*:after{-webkit-box-sizing:inherit;box-sizing:inherit}ul:not(.browser-default){padding-left:0;list-style-type:none}ul:not(.browser-default)>li{list-style-type:none}.card{-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2);box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2)}.hoverable{-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s,-webkit-box-shadow .25s}.hoverable:hover{-webkit-box-shadow:0 8px 17px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);box-shadow:0 8px 17px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)}i{line-height:inherit}i.right{float:right;margin-left:15px}.bangumi .right{float:right !important}.material-icons{text-rendering:optimizeLegibility;-webkit-font-feature-settings:'liga';-moz-font-feature-settings:'liga';font-feature-settings:'liga'}.row{margin-left:auto;margin-right:auto;margin-bottom:20px}.row:after{content:"";display:table;clear:both}.row .col{float:left;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 .75rem;min-height:1px}.row .col.s12{width:100%;margin-left:auto;left:auto;right:auto}@media only screen and (min-width:601px){.row .col.m6{width:50%;margin-left:auto;left:auto;right:auto}}html{line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-weight:normal;color:rgba(0,0,0,0.87)}@media only screen and (min-width:0){html{font-size:14px}}@media only screen and (min-width:992px){html{font-size:14.5px}}@media only screen and (min-width:1200px){html{font-size:15px}}.card{position:relative;margin:.5rem 0 1rem 0;background-color:#fff;-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s,-webkit-box-shadow .25s;border-radius:2px}.card .card-title{font-size:24px;font-weight:300}.card .card-title.activator{cursor:pointer}.card .card-image{position:relative}.card .card-image img{display:block;border-radius:2px 2px 0 0;position:relative;left:0;right:0;top:0;bottom:0;width:100%}.card .card-content{padding:24px;border-radius:0 0 2px 2px}.card .card-content p{margin:0}.card .card-content .card-title{display:block;line-height:32px;margin-bottom:8px}.card .card-content .card-title i{line-height:32px}.card .card-reveal{padding:24px;position:absolute;background-color:#fff;width:100%;overflow-y:auto;left:0;top:100%;height:100%;z-index:3;display:none}.card .card-reveal .card-title{cursor:pointer;display:block}.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;vertical-align:middle;z-index:1;-webkit-transition:.3s ease-out;transition:.3s ease-out}.waves-effect img{position:relative;z-index:-1}.waves-block{display:block}::-webkit-input-placeholder{color:#d1d1d1}::-moz-placeholder{color:#d1d1d1}:-ms-input-placeholder{color:#d1d1d1}::-ms-input-placeholder{color:#d1d1d1}[type="radio"]:not(:checked){position:absolute;opacity:0;pointer-events:none}[type="radio"]:not(:checked)+span{position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;-webkit-transition:.28s ease;transition:.28s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type="radio"]:not(:checked)+span:before,[type="radio"]:not(:checked)+span:after{border-radius:50%}[type="radio"]:not(:checked)+span:before,[type="radio"]:not(:checked)+span:after{border:2px solid #5a5a5a}[type="radio"]:not(:checked)+span:after{-webkit-transform:scale(0);transform:scale(0)}[type="checkbox"]:not(:checked){position:absolute;opacity:0;pointer-events:none}[type="checkbox"]:not(:checked):disabled+span:not(.lever):before{border:none;background-color:rgba(0,0,0,0.42)}[type="checkbox"].filled-in:not(:checked)+span:not(.lever):before{width:0;height:0;border:3px solid transparent;left:6px;top:10px;-webkit-transform:rotateZ(37deg);transform:rotateZ(37deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"].filled-in:not(:checked)+span:not(.lever):after{height:20px;width:20px;background-color:transparent;border:2px solid #5a5a5a;top:0px;z-index:0}input[type=checkbox]:not(:disabled) ~ .lever:active:before,input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before{-webkit-transform:scale(2.4);transform:scale(2.4);background-color:rgba(0,0,0,0.08)}input[type=range].focused:focus:not(.active)::-webkit-slider-thumb{-webkit-box-shadow:0 0 0 10px rgba(38,166,154,0.26);box-shadow:0 0 0 10px rgba(38,166,154,0.26)}input[type=range].focused:focus:not(.active)::-moz-range-thumb{box-shadow:0 0 0 10px rgba(38,166,154,0.26)}input[type=range].focused:focus:not(.active)::-ms-thumb{box-shadow:0 0 0 10px rgba(38,166,154,0.26)} 2 | 3 | @media (max-width: 860px) { 4 | .pattern-center-blank { 5 | padding-top: 75px; 6 | } 7 | } 8 | @media (max-width: 860px) { 9 | i.iconfont.js-toggle-search.iconsearch { 10 | color: #000; 11 | } 12 | } 13 | @media (max-width: 860px) { 14 | .openNav .icon:before, .openNav .icon:after { 15 | transition-duration: .5s; 16 | background-color: #000; 17 | position: absolute; 18 | content: ""; 19 | width: 30px; 20 | height: 3px; 21 | left: 0; 22 | } 23 | } 24 | @media (max-width: 860px) { 25 | .openNav .icon { 26 | transition-duration: .2s; 27 | position: absolute; 28 | width: 30px; 29 | height: 3px; 30 | background-color: #000; 31 | top: 24px; 32 | left: 10px; 33 | } 34 | } -------------------------------------------------------------------------------- /themes/Sakura/source/css/donate.css: -------------------------------------------------------------------------------- 1 | #root{ 2 | display: inline-block; 3 | text-align: center; 4 | width: 100%; 5 | height: 240px; 6 | } 7 | #root .root{ 8 | margin-top: 100px; 9 | display: inline-block; 10 | } 11 | .list, .list li, .list-left li { 12 | list-style: none; 13 | list-style-type: none; 14 | margin: 0px; 15 | padding: 0px; 16 | } 17 | .pos-f { 18 | /*position: fixed;*/ 19 | } 20 | .left-100 { 21 | width: 100%; 22 | height: 100%; 23 | } 24 | .blur { 25 | -webkit-filter: blur(3px); 26 | filter: blur(3px); 27 | } 28 | .tr3 { 29 | transition: all .3s; 30 | } 31 | #DonateText { 32 | position: relative; 33 | font-size: 12px; 34 | width: 70px; 35 | height: 70px; 36 | line-height: 70px; 37 | color: #fff; 38 | background: #ffd886 url(/images/donate/like.svg) no-repeat center 10px; 39 | background-size: 20px; 40 | border-radius: 35px; 41 | text-align: center; 42 | left: calc(50% - 120px); 43 | top: -80px; 44 | transform: rotatez(-15deg ); 45 | } 46 | #donateBox { 47 | position: relative; 48 | /*left: calc(50% - 150px);*/ 49 | top: calc(50% - 15px); 50 | background-color: #fff; 51 | border: 1px solid #ddd; 52 | border-radius: 6px; 53 | /*width: 299px;*/ 54 | /*height: 28px;*/ 55 | float: left; 56 | z-index: 1; 57 | } 58 | #donateBox li { 59 | width: 74px; 60 | float: left; 61 | text-align: center; 62 | border-left: 1px solid #ddd; 63 | background: no-repeat center center; 64 | background-color: rgba(204, 217, 220,0.1); 65 | background-size: 45px; 66 | transition: all .3s; 67 | cursor: pointer; 68 | overflow: hidden; 69 | line-height: 600px; 70 | height: 28px; 71 | -webkit-filter: grayscale(1); 72 | filter: grayscale(1); 73 | opacity: 0.5; 74 | } 75 | #donateBox li:hover { 76 | background-color: rgba(204, 217, 220,0.3); 77 | -webkit-filter: grayscale(0); 78 | filter: grayscale(0); 79 | opacity: 1; 80 | } 81 | #donateBox>li:first-child { 82 | border-width: 0; 83 | } 84 | #donateBox a { 85 | display: block; 86 | } 87 | #donateBox #PayPal { 88 | background-image: url(/images/donate/paypal.svg); 89 | } 90 | #donateBox>#BTC { 91 | background-image: url(/images/donate/bitcoin.svg); 92 | line-height: 28px; 93 | } 94 | #donateBox>#BTC:hover { 95 | overflow: visible; 96 | } 97 | #BTC>button { 98 | opacity: 0; 99 | cursor: pointer; 100 | } 101 | #donateBox #AliPay { 102 | background-image: url(/images/donate/alipay.svg); 103 | } 104 | #donateBox #WeChat { 105 | background-image: url(/images/donate/wechat.svg); 106 | } 107 | #QRBox { 108 | position: relative; 109 | top: -100px; 110 | left: 0; 111 | z-index: 1; 112 | background-color: rgba(255,255,255,0.3); 113 | display: none; 114 | perspective: 400px; 115 | } 116 | #MainBox { 117 | cursor: pointer; 118 | position: absolute; 119 | text-align: center; 120 | width: 200px; 121 | height: 200px; 122 | left: calc(50% - 100px); 123 | top: calc(50% - 100px); 124 | background: #fff no-repeat center center; 125 | background-size: 190px; 126 | border-radius: 6px; 127 | box-shadow: 0px 2px 7px rgba(0,0,0,0.3); 128 | opacity: 0; 129 | transition: all 1s ease-in-out; 130 | transform-style: preserve-3d; 131 | transform-origin: center center; 132 | overflow: hidden; 133 | } 134 | #btc-key { 135 | opacity: 0; 136 | width: 2px; 137 | height: 8px; 138 | overflow: hidden; 139 | left: -2px; 140 | top: -8px; 141 | } 142 | #github { 143 | position: relative; 144 | display: inline-block; 145 | z-index: 1; 146 | width: 24px; 147 | height: 24px; 148 | top: -12px; 149 | left: -10px; 150 | background: no-repeat center center url(/images/donate/github.svg); 151 | background-size: contain; 152 | opacity: 0.3; 153 | transform: rotatez(15deg ); 154 | } 155 | [data-footnote] { 156 | position: relative; 157 | overflow: hidden; 158 | } 159 | [data-footnote]:hover { 160 | overflow: visible; 161 | } 162 | [data-footnote]::before, [data-footnote]::after { 163 | position: absolute; 164 | transition: all .3s; 165 | transform: translate3d(-50%,0,0); 166 | opacity: 0; 167 | left: 37px; 168 | z-index: 10; 169 | } 170 | [data-footnote]::before { 171 | content: attr(data-footnote); 172 | border-radius: 6px; 173 | background-color: rgba(100,100,100,0.8); 174 | color: #fff; 175 | height: 24px; 176 | line-height: 24px; 177 | padding: 0 6px; 178 | font-size: 12px; 179 | white-space: nowrap; 180 | top: -24px; 181 | left: 37px; 182 | } 183 | [data-footnote]::after { 184 | content: ''; 185 | border: 5px solid #333; 186 | border-color: rgba(100,100,100,0.8) transparent transparent transparent; 187 | top: 0; 188 | left: 37px; 189 | } 190 | [data-footnote]:hover::before,[data-footnote]:hover::after { 191 | opacity: 1; 192 | } 193 | [data-footnote]:hover::before,[data-footnote]:hover::after { 194 | transform: translate3d(-50%,-7px,0); 195 | } 196 | 197 | #MainBox.showQR { 198 | opacity: 1; 199 | animation-name:showQR; 200 | animation-duration:3s; 201 | animation-timing-function:ease-in-out; 202 | animation-iteration-count:1; 203 | animation-fill-mode:forwards; 204 | -webkit-animation:showQR 3s ease-in-out 0s 1 normal forwards; 205 | } 206 | @keyframes showQR { 207 | from { 208 | transform: rotateX(90deg); 209 | } 210 | 8% { 211 | opacity: 1; 212 | transform: rotateX(-60deg); 213 | } 214 | 18% { 215 | opacity: 1; 216 | transform: rotateX(40deg); 217 | } 218 | 34% { 219 | opacity: 1; 220 | transform: rotateX(-28deg); 221 | } 222 | 44% { 223 | opacity: 1; 224 | transform: rotateX(18deg); 225 | } 226 | 58% { 227 | opacity: 1; 228 | transform: rotateX(-12deg); 229 | } 230 | 72% { 231 | opacity: 1; 232 | transform: rotateX(9deg); 233 | } 234 | 88% { 235 | opacity: 1; 236 | transform: rotateX(-5deg); 237 | } 238 | 96% { 239 | opacity: 1; 240 | transform: rotateX(2deg); 241 | } 242 | to { 243 | opacity: 1; 244 | } 245 | } 246 | #MainBox.hideQR { 247 | opacity: 1; 248 | animation-name:hideQR; 249 | animation-duration:0.5s; 250 | animation-timing-function:ease-in-out; 251 | animation-iteration-count:1; 252 | animation-fill-mode:forwards; 253 | -webkit-animation:hideQR 0.5s ease-in-out 0s 1 normal forwards; 254 | } 255 | @keyframes hideQR { 256 | from { 257 | } 258 | 20%,50% { 259 | transform: scale(1.08,1.08); 260 | opacity: 1; 261 | } 262 | to { 263 | opacity: 0; 264 | transform: rotateZ(40deg) scale(0.6,0.6); 265 | } 266 | } -------------------------------------------------------------------------------- /themes/Sakura/source/css/insight.styl: -------------------------------------------------------------------------------- 1 | // Insight Search Styles 2 | ins-container-width = 640px 3 | ins-text-grey = #9a9a9a 4 | ins-border-grey = #e2e2e2 5 | ins-background-grey = #f7f7f7 6 | ins-background-orange = #e78170 7 | 8 | $ins-full-screen 9 | top: 0 10 | left: 0 11 | margin: 0 12 | width: 100% 13 | height: 100% 14 | 15 | .ins-search 16 | display: none 17 | &.show 18 | display: block 19 | 20 | .ins-selectable 21 | cursor: pointer 22 | 23 | .ins-search-mask, 24 | .ins-search-container 25 | position: fixed 26 | 27 | .ins-search-mask 28 | top: 0 !important 29 | left: 0 !important 30 | width: 100% !important 31 | height: 100% !important 32 | z-index: 8000 !important 33 | background: rgba(0,0,0,0.5) !important 34 | 35 | .ins-input-wrapper 36 | position: relative 37 | 38 | .ins-search-input 39 | width: 100% !important 40 | height: 100% !important 41 | border: none !important 42 | outline: none !important 43 | font-size: 16px !important 44 | box-shadow: none !important 45 | font-weight: 200 !important 46 | border-radius: 0 !important 47 | background: white !important 48 | line-height: 20px !important 49 | box-sizing: border-box !important 50 | padding: 12px 28px 12px 20px !important 51 | border-bottom: 1px solid ins-border-grey !important 52 | font-family: "Microsoft Yahei Light", "Microsoft Yahei", Helvetica, Arial, sans-serif !important 53 | 54 | .ins-close 55 | top: 50% 56 | right: 6px 57 | width: 20px 58 | height: 20px 59 | font-size: 16px 60 | margin-top: -11px 61 | position: absolute 62 | text-align: center 63 | display: inline-block 64 | &:hover 65 | color: ins-background-orange 66 | 67 | .ins-search-container 68 | right: 50% 69 | top: 100px !important 70 | z-index: 8001 !important 71 | bottom: 100px !important 72 | box-sizing: border-box !important 73 | width: ins-container-width !important 74 | margin-right: -(ins-container-width/2) !important 75 | border-top: 2px solid color-theme !important 76 | @media screen and (max-width: 559px), screen and (max-height: 479px) 77 | top: 0 78 | right: 0% !important 79 | margin: 0 !important 80 | width: 100% !important 81 | height: 80% 82 | background: ins-background-grey 83 | 84 | .ins-section-wrapper 85 | left: 0 !important 86 | right: 0 !important 87 | top: 45px !important 88 | bottom: 0 !important 89 | overflow-y: auto !important 90 | position: absolute !important 91 | 92 | .ins-section-container 93 | position: relative !important 94 | background: ins-background-grey !important 95 | 96 | .ins-section 97 | font-size: 14px !important 98 | line-height: 16px !important 99 | .ins-section-header, 100 | .ins-search-item 101 | padding: 8px 15px !important 102 | .ins-section-header 103 | color: ins-text-grey !important 104 | border-bottom: 1px solid ins-border-grey !important 105 | .ins-slug 106 | margin-left: 5px !important 107 | color: ins-text-grey !important 108 | &:before 109 | content: '(' 110 | &:after 111 | content: ')' 112 | .ins-search-item 113 | header, 114 | .ins-search-preview 115 | overflow: hidden !important 116 | white-space: nowrap !important 117 | text-overflow: ellipsis !important 118 | header 119 | .fa 120 | margin-right: 8px !important 121 | .ins-search-preview 122 | height: 15px !important 123 | font-size: 12px !important 124 | color: ins-text-grey !important 125 | margin: 5px 0 0 20px !important 126 | &:hover, 127 | &.active 128 | color: white !important 129 | background: ins-background-orange !important 130 | .ins-slug, 131 | .ins-search-preview 132 | color: white !important -------------------------------------------------------------------------------- /themes/Sakura/source/css/jquery.fancybox.min.css: -------------------------------------------------------------------------------- 1 | body.compensate-for-scrollbar{overflow:hidden}.fancybox-active{height:auto}.fancybox-is-hidden{left:-9999px;margin:0;position:absolute!important;top:-9999px;visibility:hidden}.fancybox-container{-webkit-backface-visibility:hidden;height:100%;left:0;outline:none;position:fixed;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:manipulation;touch-action:manipulation;transform:translateZ(0);width:100%;z-index:99992}.fancybox-container *{box-sizing:border-box}.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-stage{bottom:0;left:0;position:absolute;right:0;top:0}.fancybox-outer{-webkit-overflow-scrolling:touch;overflow-y:auto}.fancybox-bg{background:#1e1e1e;opacity:0;transition-duration:inherit;transition-property:opacity;transition-timing-function:cubic-bezier(.47,0,.74,.71)}.fancybox-is-open .fancybox-bg{opacity:.9;transition-timing-function:cubic-bezier(.22,.61,.36,1)}.fancybox-caption,.fancybox-infobar,.fancybox-navigation .fancybox-button,.fancybox-toolbar{direction:ltr;opacity:0;position:absolute;transition:opacity .25s ease,visibility 0s ease .25s;visibility:hidden;z-index:99997}.fancybox-show-caption .fancybox-caption,.fancybox-show-infobar .fancybox-infobar,.fancybox-show-nav .fancybox-navigation .fancybox-button,.fancybox-show-toolbar .fancybox-toolbar{opacity:1;transition:opacity .25s ease 0s,visibility 0s ease 0s;visibility:visible}.fancybox-infobar{color:#ccc;font-size:13px;-webkit-font-smoothing:subpixel-antialiased;height:44px;left:0;line-height:44px;min-width:44px;mix-blend-mode:difference;padding:0 10px;pointer-events:none;top:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-toolbar{right:0;top:0}.fancybox-stage{direction:ltr;overflow:visible;transform:translateZ(0);z-index:99994}.fancybox-is-open .fancybox-stage{overflow:hidden}.fancybox-slide{-webkit-backface-visibility:hidden;display:none;height:100%;left:0;outline:none;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:absolute;text-align:center;top:0;transition-property:transform,opacity;white-space:normal;width:100%;z-index:99994}.fancybox-slide:before{content:"";display:inline-block;font-size:0;height:100%;vertical-align:middle;width:0}.fancybox-is-sliding .fancybox-slide,.fancybox-slide--current,.fancybox-slide--next,.fancybox-slide--previous{display:block}.fancybox-slide--image{overflow:hidden;padding:44px 0}.fancybox-slide--image:before{display:none}.fancybox-slide--html{padding:6px}.fancybox-content{background:#fff;display:inline-block;margin:0;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:relative;text-align:left;vertical-align:middle}.fancybox-slide--image .fancybox-content{animation-timing-function:cubic-bezier(.5,0,.14,1);-webkit-backface-visibility:hidden;background:transparent;background-repeat:no-repeat;background-size:100% 100%;left:0;max-width:none;overflow:visible;padding:0;position:absolute;top:0;transform-origin:top left;transition-property:transform,opacity;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:99995}.fancybox-can-zoomOut .fancybox-content{cursor:zoom-out}.fancybox-can-zoomIn .fancybox-content{cursor:zoom-in}.fancybox-can-pan .fancybox-content,.fancybox-can-swipe .fancybox-content{cursor:grab}.fancybox-is-grabbing .fancybox-content{cursor:grabbing}.fancybox-container [data-selectable=true]{cursor:text}.fancybox-image,.fancybox-spaceball{background:transparent;border:0;height:100%;left:0;margin:0;max-height:none;max-width:none;padding:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.fancybox-spaceball{z-index:1}.fancybox-slide--iframe .fancybox-content,.fancybox-slide--map .fancybox-content,.fancybox-slide--pdf .fancybox-content,.fancybox-slide--video .fancybox-content{height:100%;overflow:visible;padding:0;width:100%}.fancybox-slide--video .fancybox-content{background:#000}.fancybox-slide--map .fancybox-content{background:#e5e3df}.fancybox-slide--iframe .fancybox-content{background:#fff}.fancybox-iframe,.fancybox-video{background:transparent;border:0;display:block;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.fancybox-iframe{left:0;position:absolute;top:0}.fancybox-error{background:#fff;cursor:default;max-width:400px;padding:40px;width:100%}.fancybox-error p{color:#444;font-size:16px;line-height:20px;margin:0;padding:0}.fancybox-button{background:rgba(30,30,30,.6);border:0;border-radius:0;box-shadow:none;cursor:pointer;display:inline-block;height:44px;margin:0;padding:10px;position:relative;transition:color .2s;vertical-align:top;visibility:inherit;width:44px}.fancybox-button,.fancybox-button:link,.fancybox-button:visited{color:#ccc}.fancybox-button:hover{color:#fff}.fancybox-button:focus{outline:none}.fancybox-button.fancybox-focus{outline:1px dotted}.fancybox-button[disabled],.fancybox-button[disabled]:hover{color:#888;cursor:default;outline:none}.fancybox-button div{height:100%}.fancybox-button svg{display:block;height:100%;overflow:visible;position:relative;width:100%}.fancybox-button svg path{fill:currentColor;stroke-width:0}.fancybox-button--fsenter svg:nth-child(2),.fancybox-button--fsexit svg:first-child,.fancybox-button--pause svg:first-child,.fancybox-button--play svg:nth-child(2){display:none}.fancybox-progress{background:#ff5268;height:2px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;z-index:99998}.fancybox-close-small{background:transparent;border:0;border-radius:0;color:#ccc;cursor:pointer;opacity:.8;padding:8px;position:absolute;right:-12px;top:-44px;z-index:401}.fancybox-close-small:hover{color:#fff;opacity:1}.fancybox-slide--html .fancybox-close-small{color:currentColor;padding:10px;right:0;top:0}.fancybox-slide--image.fancybox-is-scaling .fancybox-content{overflow:hidden}.fancybox-is-scaling .fancybox-close-small,.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small{display:none}.fancybox-navigation .fancybox-button{background-clip:content-box;height:100px;opacity:0;position:absolute;top:calc(50% - 50px);width:70px}.fancybox-navigation .fancybox-button div{padding:7px}.fancybox-navigation .fancybox-button--arrow_left{left:0;left:env(safe-area-inset-left);padding:31px 26px 31px 6px}.fancybox-navigation .fancybox-button--arrow_right{padding:31px 6px 31px 26px;right:0;right:env(safe-area-inset-right)}.fancybox-caption{background:linear-gradient(0deg,rgba(0,0,0,.85) 0,rgba(0,0,0,.3) 50%,rgba(0,0,0,.15) 65%,rgba(0,0,0,.075) 75.5%,rgba(0,0,0,.037) 82.85%,rgba(0,0,0,.019) 88%,transparent);bottom:0;color:#eee;font-size:14px;font-weight:400;left:0;line-height:1.5;padding:75px 44px 25px;pointer-events:none;right:0;text-align:center;z-index:99996}@supports (padding:max(0px)){.fancybox-caption{padding:75px max(44px,env(safe-area-inset-right)) max(25px,env(safe-area-inset-bottom)) max(44px,env(safe-area-inset-left))}}.fancybox-caption--separate{margin-top:-50px}.fancybox-caption__body{max-height:50vh;overflow:auto;pointer-events:all}.fancybox-caption a,.fancybox-caption a:link,.fancybox-caption a:visited{color:#ccc;text-decoration:none}.fancybox-caption a:hover{color:#fff;text-decoration:underline}.fancybox-loading{animation:a 1s linear infinite;background:transparent;border:4px solid #888;border-bottom-color:#fff;border-radius:50%;height:50px;left:50%;margin:-25px 0 0 -25px;opacity:.7;padding:0;position:absolute;top:50%;width:50px;z-index:99999}@keyframes a{to{transform:rotate(1turn)}}.fancybox-animated{transition-timing-function:cubic-bezier(0,0,.25,1)}.fancybox-fx-slide.fancybox-slide--previous{opacity:0;transform:translate3d(-100%,0,0)}.fancybox-fx-slide.fancybox-slide--next{opacity:0;transform:translate3d(100%,0,0)}.fancybox-fx-slide.fancybox-slide--current{opacity:1;transform:translateZ(0)}.fancybox-fx-fade.fancybox-slide--next,.fancybox-fx-fade.fancybox-slide--previous{opacity:0;transition-timing-function:cubic-bezier(.19,1,.22,1)}.fancybox-fx-fade.fancybox-slide--current{opacity:1}.fancybox-fx-zoom-in-out.fancybox-slide--previous{opacity:0;transform:scale3d(1.5,1.5,1.5)}.fancybox-fx-zoom-in-out.fancybox-slide--next{opacity:0;transform:scale3d(.5,.5,.5)}.fancybox-fx-zoom-in-out.fancybox-slide--current{opacity:1;transform:scaleX(1)}.fancybox-fx-rotate.fancybox-slide--previous{opacity:0;transform:rotate(-1turn)}.fancybox-fx-rotate.fancybox-slide--next{opacity:0;transform:rotate(1turn)}.fancybox-fx-rotate.fancybox-slide--current{opacity:1;transform:rotate(0deg)}.fancybox-fx-circular.fancybox-slide--previous{opacity:0;transform:scale3d(0,0,0) translate3d(-100%,0,0)}.fancybox-fx-circular.fancybox-slide--next{opacity:0;transform:scale3d(0,0,0) translate3d(100%,0,0)}.fancybox-fx-circular.fancybox-slide--current{opacity:1;transform:scaleX(1) translateZ(0)}.fancybox-fx-tube.fancybox-slide--previous{transform:translate3d(-100%,0,0) scale(.1) skew(-10deg)}.fancybox-fx-tube.fancybox-slide--next{transform:translate3d(100%,0,0) scale(.1) skew(10deg)}.fancybox-fx-tube.fancybox-slide--current{transform:translateZ(0) scale(1)}@media (max-height:576px){.fancybox-slide{padding-left:6px;padding-right:6px}.fancybox-slide--image{padding:6px 0}.fancybox-close-small{right:-6px}.fancybox-slide--image .fancybox-close-small{background:#4e4e4e;color:#f2f4f6;height:36px;opacity:1;padding:6px;right:0;top:0;width:36px}.fancybox-caption{padding-left:12px;padding-right:12px}@supports (padding:max(0px)){.fancybox-caption{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}}.fancybox-share{background:#f4f4f4;border-radius:3px;max-width:90%;padding:30px;text-align:center}.fancybox-share h1{color:#222;font-size:35px;font-weight:700;margin:0 0 20px}.fancybox-share p{margin:0;padding:0}.fancybox-share__button{border:0;border-radius:3px;display:inline-block;font-size:14px;font-weight:700;line-height:40px;margin:0 5px 10px;min-width:130px;padding:0 15px;text-decoration:none;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.fancybox-share__button:link,.fancybox-share__button:visited{color:#fff}.fancybox-share__button:hover{text-decoration:none}.fancybox-share__button--fb{background:#3b5998}.fancybox-share__button--fb:hover{background:#344e86}.fancybox-share__button--pt{background:#bd081d}.fancybox-share__button--pt:hover{background:#aa0719}.fancybox-share__button--tw{background:#1da1f2}.fancybox-share__button--tw:hover{background:#0d95e8}.fancybox-share__button svg{height:25px;margin-right:7px;position:relative;top:-1px;vertical-align:middle;width:25px}.fancybox-share__button svg path{fill:#fff}.fancybox-share__input{background:transparent;border:0;border-bottom:1px solid #d7d7d7;border-radius:0;color:#5d5b5b;font-size:14px;margin:10px 0 0;outline:none;padding:10px 15px;width:100%}.fancybox-thumbs{background:#ddd;bottom:0;display:none;margin:0;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;padding:2px 2px 4px;position:absolute;right:0;-webkit-tap-highlight-color:rgba(0,0,0,0);top:0;width:212px;z-index:99995}.fancybox-thumbs-x{overflow-x:auto;overflow-y:hidden}.fancybox-show-thumbs .fancybox-thumbs{display:block}.fancybox-show-thumbs .fancybox-inner{right:212px}.fancybox-thumbs__list{font-size:0;height:100%;list-style:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;position:absolute;position:relative;white-space:nowrap;width:100%}.fancybox-thumbs-x .fancybox-thumbs__list{overflow:hidden}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar{width:7px}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track{background:#fff;border-radius:10px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:10px}.fancybox-thumbs__list a{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:rgba(0,0,0,.1);background-position:50%;background-repeat:no-repeat;background-size:cover;cursor:pointer;float:left;height:75px;margin:2px;max-height:calc(100% - 8px);max-width:calc(50% - 4px);outline:none;overflow:hidden;padding:0;position:relative;-webkit-tap-highlight-color:transparent;width:100px}.fancybox-thumbs__list a:before{border:6px solid #ff5268;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);z-index:99991}.fancybox-thumbs__list a:focus:before{opacity:.5}.fancybox-thumbs__list a.fancybox-thumbs-active:before{opacity:1}@media (max-width:576px){.fancybox-thumbs{width:110px}.fancybox-show-thumbs .fancybox-inner{right:110px}.fancybox-thumbs__list a{max-width:calc(100% - 10px)}} -------------------------------------------------------------------------------- /themes/Sakura/source/css/sharejs.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family:"socialshare";src:url("https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/fonts/sharejs/iconfont.eot"); 3 | src:url("https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/fonts/sharejs/iconfont.eot?#iefix") format("embedded-opentype"),url("https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/fonts/sharejs/iconfont.woff") format("woff"),url("https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/fonts/sharejs/iconfont.ttf") format("truetype"),url("https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/fonts/sharejs/iconfont.svg#iconfont") format("svg") 4 | } 5 | 6 | .social-share { 7 | display: inline-block; 8 | font-family: "socialshare" !important; 9 | font-size: 16px; 10 | font-style: normal; 11 | -webkit-font-smoothing: antialiased; 12 | -webkit-text-stroke-width: 0.2px; 13 | -moz-osx-font-smoothing: grayscale 14 | } 15 | 16 | .social-share * { 17 | font-family: "socialshare" !important 18 | } 19 | 20 | .social-share .icon-tencent:before { 21 | content: "\f07a" 22 | } 23 | 24 | .social-share .icon-qq:before { 25 | content: "\f11a" 26 | } 27 | 28 | .social-share .icon-weibo:before { 29 | content: "\f12a" 30 | } 31 | 32 | .social-share .icon-wechat:before { 33 | content: "\f09a" 34 | } 35 | 36 | .social-share .icon-douban:before { 37 | content: "\f10a" 38 | } 39 | 40 | .social-share .icon-heart:before { 41 | content: "\f20a" 42 | } 43 | 44 | .social-share .icon-like:before { 45 | content: "\f00a" 46 | } 47 | 48 | .social-share .icon-qzone:before { 49 | content: "\f08a" 50 | } 51 | 52 | .social-share .icon-linkedin:before { 53 | content: "\f01a" 54 | } 55 | 56 | .social-share .icon-diandian:before { 57 | content: "\f05a" 58 | } 59 | 60 | .social-share .icon-facebook:before { 61 | content: "\f03a" 62 | } 63 | 64 | .social-share .icon-google:before { 65 | content: "\f04a" 66 | } 67 | 68 | .social-share .icon-twitter:before { 69 | content: "\f06a" 70 | } 71 | 72 | .social-share a { 73 | position: relative; 74 | text-decoration: none; 75 | margin: 0 4px; 76 | display: inline-block; 77 | outline: none 78 | } 79 | 80 | .social-share .social-share-icon { 81 | position: relative; 82 | display: inline-block; 83 | width: 16px; 84 | height: 16px; 85 | font-size: 10px; 86 | border-radius: 50%; 87 | line-height: 16px; 88 | color: #666; 89 | text-align: center; 90 | vertical-align: middle; 91 | transition: background 0.6s ease-out 0s; 92 | } 93 | 94 | .social-share .social-share-icon:hover { 95 | background: #666; 96 | color: #fff 97 | } 98 | 99 | .social-share .icon-weibo { 100 | color: #ff763b; 101 | border-color: #ff763b 102 | } 103 | 104 | .social-share .icon-weibo:hover { 105 | background: #ff763b 106 | } 107 | 108 | .social-share .icon-tencent { 109 | color: #56b6e7; 110 | border-color: #56b6e7 111 | } 112 | 113 | .social-share .icon-tencent:hover { 114 | background: #56b6e7 115 | } 116 | 117 | .social-share .icon-qq { 118 | color: #56b6e7; 119 | border-color: #56b6e7 120 | } 121 | 122 | .social-share .icon-qq:hover { 123 | background: #56b6e7 124 | } 125 | 126 | .social-share .icon-qzone { 127 | color: #FDBE3D; 128 | border-color: #FDBE3D 129 | } 130 | 131 | .social-share .icon-qzone:hover { 132 | background: #FDBE3D 133 | } 134 | 135 | .social-share .icon-douban { 136 | color: #33b045; 137 | border-color: #33b045 138 | } 139 | 140 | .social-share .icon-douban:hover { 141 | background: #33b045 142 | } 143 | 144 | .social-share .icon-linkedin { 145 | color: #0077B5; 146 | border-color: #0077B5 147 | } 148 | 149 | .social-share .icon-linkedin:hover { 150 | background: #0077B5 151 | } 152 | 153 | .social-share .icon-facebook { 154 | color: #44619D; 155 | border-color: #44619D 156 | } 157 | 158 | .social-share .icon-facebook:hover { 159 | background: #44619D 160 | } 161 | 162 | .social-share .icon-google { 163 | color: #db4437; 164 | border-color: #db4437 165 | } 166 | 167 | .social-share .icon-google:hover { 168 | background: #db4437 169 | } 170 | 171 | .social-share .icon-twitter { 172 | color: #55acee; 173 | border-color: #55acee 174 | } 175 | 176 | .social-share .icon-twitter:hover { 177 | background: #55acee 178 | } 179 | 180 | .social-share .icon-diandian { 181 | color: #307DCA; 182 | border-color: #307DCA 183 | } 184 | 185 | .social-share .icon-diandian:hover { 186 | background: #307DCA 187 | } 188 | 189 | .social-share .icon-wechat { 190 | position: relative; 191 | color: #7bc549; 192 | border-color: #7bc549 193 | } 194 | 195 | .social-share .icon-wechat:hover { 196 | background: #7bc549 197 | } 198 | 199 | .social-share .icon-wechat .wechat-qrcode { 200 | display: none; 201 | border: 1px solid #eee; 202 | position: absolute; 203 | z-index: 9; 204 | top: -205px; 205 | left: -84px; 206 | width: 200px; 207 | height: 192px; 208 | color: #666; 209 | font-size: 12px; 210 | text-align: center; 211 | background-color: #fff; 212 | box-shadow: 0 2px 10px #aaa; 213 | transition: all 200ms; 214 | -webkit-tansition: all 350ms; 215 | -moz-transition: all 350ms 216 | } 217 | 218 | .social-share .icon-wechat .wechat-qrcode.bottom { 219 | top: 40px; 220 | left: -84px 221 | } 222 | 223 | .social-share .icon-wechat .wechat-qrcode.bottom:after { 224 | display: none 225 | } 226 | 227 | .social-share .icon-wechat .wechat-qrcode h4 { 228 | font-weight: normal; 229 | height: 26px; 230 | line-height: 26px; 231 | font-size: 12px; 232 | background-color: #f3f3f3; 233 | margin: 0; 234 | padding: 0; 235 | color: #777 236 | } 237 | 238 | .social-share .icon-wechat .wechat-qrcode .qrcode { 239 | width: 105px; 240 | margin: 10px auto 241 | } 242 | 243 | .social-share .icon-wechat .wechat-qrcode .qrcode table { 244 | margin: 0 !important 245 | } 246 | 247 | .social-share .icon-wechat .wechat-qrcode .help p { 248 | font-weight: normal; 249 | line-height: 16px; 250 | padding: 0; 251 | margin: 0 252 | } 253 | 254 | .social-share .icon-wechat .wechat-qrcode:after { 255 | content: ''; 256 | position: absolute; 257 | left: 50%; 258 | margin-left: -6px; 259 | bottom: -13px; 260 | width: 0; 261 | height: 0; 262 | border-width: 8px 6px 6px 6px; 263 | border-style: solid; 264 | border-color: #fff transparent transparent transparent 265 | } 266 | 267 | .social-share .icon-wechat:hover .wechat-qrcode { 268 | display: block 269 | } 270 | .share-mobile .social-share-icon { 271 | position: relative; 272 | display: inline-block; 273 | width: 32px; 274 | height: 32px; 275 | font-size: 20px; 276 | border-radius: 50%; 277 | line-height: 32px; 278 | border: 1px solid; 279 | text-align: center; 280 | vertical-align: middle; 281 | transition: background 0.6s ease-out 0s; 282 | } -------------------------------------------------------------------------------- /themes/Sakura/source/css/zoom.css: -------------------------------------------------------------------------------- 1 | img[data-action="zoom"] { 2 | cursor: pointer; 3 | cursor: -webkit-zoom-in; 4 | cursor: -moz-zoom-in; 5 | } 6 | .zoom-img, 7 | .zoom-img-wrap { 8 | position: relative; 9 | z-index: 666; 10 | -webkit-transition: all 300ms; 11 | -o-transition: all 300ms; 12 | transition: all 300ms; 13 | } 14 | img.zoom-img { 15 | cursor: pointer; 16 | cursor: -webkit-zoom-out; 17 | cursor: -moz-zoom-out; 18 | } 19 | .zoom-overlay { 20 | z-index: 420; 21 | background: #fff; 22 | position: fixed; 23 | top: 0; 24 | left: 0; 25 | right: 0; 26 | bottom: 0; 27 | pointer-events: none; 28 | filter: "alpha(opacity=0)"; 29 | opacity: 0; 30 | -webkit-transition: opacity 300ms; 31 | -o-transition: opacity 300ms; 32 | transition: opacity 300ms; 33 | } 34 | .zoom-overlay-open .zoom-overlay { 35 | filter: "alpha(opacity=100)"; 36 | opacity: 1; 37 | } 38 | .zoom-overlay-open, 39 | .zoom-overlay-transitioning { 40 | cursor: default; 41 | } 42 | -------------------------------------------------------------------------------- /themes/Sakura/source/fonts/SAKURASO.old/icon.css: -------------------------------------------------------------------------------- 1 | /** 2 | * @file icon.css 3 | */ 4 | 5 | @font-face { 6 | font-family: "sakuraso"; 7 | src: url("inc/fonts/SAKURASO/sakuraso.eot"); /* IE9 */ 8 | src: url("inc/fonts/SAKURASO/sakuraso.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */ 9 | url("inc/fonts/SAKURASO/sakuraso.woff") format("woff"), /* chrome、firefox */ 10 | url("inc/fonts/SAKURASO/sakuraso.ttf") format("truetype"), /* chrome、firefox、opera、Safari, Android, iOS 4.2+ */ 11 | url("inc/fonts/SAKURASO/sakuraso.svg#uxfonteditor") format("svg"); /* iOS 4.1- */ 12 | } 13 | 14 | 15 | .icon { 16 | font-family: "sakuraso" !important; 17 | speak: none; 18 | font-style: normal; 19 | font-weight: normal; 20 | font-variant: normal; 21 | text-transform: none; 22 | line-height: 1; 23 | -webkit-font-smoothing: antialiased; 24 | -moz-osx-font-smoothing: grayscale; 25 | } 26 | 27 | 28 | .icon-exclam:before { 29 | content: "\21"; 30 | } 31 | 32 | .icon-uni306E:before { 33 | content: "\306e"; 34 | } 35 | 36 | .icon-uni304F:before { 37 | content: "\304f"; 38 | } 39 | 40 | .icon-uniE001:before { 41 | content: "\e001"; 42 | } 43 | 44 | .icon-uni767D:before { 45 | content: "\767d"; 46 | } 47 | 48 | .icon-uni3055:before { 49 | content: "\3055"; 50 | } 51 | 52 | .icon-uni3089:before { 53 | content: "\3089"; 54 | } 55 | 56 | .icon-uni8358:before { 57 | content: "\8358"; 58 | } 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /themes/Sakura/source/fonts/SAKURASO.old/sakuraso-symbol.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /themes/Sakura/source/fonts/SAKURASO.old/sakuraso.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/source/fonts/SAKURASO.old/sakuraso.eot -------------------------------------------------------------------------------- /themes/Sakura/source/fonts/SAKURASO.old/sakuraso.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /themes/Sakura/source/fonts/SAKURASO.old/sakuraso.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/source/fonts/SAKURASO.old/sakuraso.ttf -------------------------------------------------------------------------------- /themes/Sakura/source/fonts/SAKURASO.old/sakuraso.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/source/fonts/SAKURASO.old/sakuraso.woff -------------------------------------------------------------------------------- /themes/Sakura/source/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/source/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /themes/Sakura/source/fonts/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/source/fonts/iconfont.eot -------------------------------------------------------------------------------- /themes/Sakura/source/fonts/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/source/fonts/iconfont.ttf -------------------------------------------------------------------------------- /themes/Sakura/source/fonts/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/source/fonts/iconfont.woff -------------------------------------------------------------------------------- /themes/Sakura/source/images/cover/(0).jpg.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/source/images/cover/(0).jpg.webp -------------------------------------------------------------------------------- /themes/Sakura/source/images/cover/(1).jpg.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/source/images/cover/(1).jpg.webp -------------------------------------------------------------------------------- /themes/Sakura/source/images/cover/(2).jpg.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/source/images/cover/(2).jpg.webp -------------------------------------------------------------------------------- /themes/Sakura/source/images/cover/(3).jpg.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/source/images/cover/(3).jpg.webp -------------------------------------------------------------------------------- /themes/Sakura/source/images/cover/(4).jpg.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/source/images/cover/(4).jpg.webp -------------------------------------------------------------------------------- /themes/Sakura/source/images/cover/(5).jpg.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/source/images/cover/(5).jpg.webp -------------------------------------------------------------------------------- /themes/Sakura/source/images/cover/(6).jpg.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/source/images/cover/(6).jpg.webp -------------------------------------------------------------------------------- /themes/Sakura/source/images/cover/(7).jpg.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/source/images/cover/(7).jpg.webp -------------------------------------------------------------------------------- /themes/Sakura/source/images/cover/(8).jpg.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/source/images/cover/(8).jpg.webp -------------------------------------------------------------------------------- /themes/Sakura/source/images/donate/AliPayQR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/source/images/donate/AliPayQR.jpg -------------------------------------------------------------------------------- /themes/Sakura/source/images/donate/BTCQR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/source/images/donate/BTCQR.png -------------------------------------------------------------------------------- /themes/Sakura/source/images/donate/WeChanQR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/source/images/donate/WeChanQR.jpg -------------------------------------------------------------------------------- /themes/Sakura/source/images/donate/WeChanSQ.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/source/images/donate/WeChanSQ.jpg -------------------------------------------------------------------------------- /themes/Sakura/source/images/donate/alipay.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ]> 13 | 16 | 17 | 18 | 19 | 24 | 26 | 29 | 32 | 33 | 34 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /themes/Sakura/source/images/donate/bitcoin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 27 | 34 | 35 | 53 | 55 | 56 | 58 | image/svg+xml 59 | 61 | 62 | 63 | 64 | 65 | 70 | 73 | 75 | 77 | 82 | 84 | 86 | 91 | 92 | 93 | 94 | 95 | 97 | 102 | 107 | 112 | 117 | 122 | 127 | 132 | 133 | 134 | 135 | 136 | -------------------------------------------------------------------------------- /themes/Sakura/source/images/donate/github.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /themes/Sakura/source/images/donate/paypal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 15 | 23 | 37 | 46 | 59 | 63 | 64 | -------------------------------------------------------------------------------- /themes/Sakura/source/images/donate/wechat.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 9 | 10 | 14 | 18 | 19 | 20 | 21 | 23 | 28 | 29 | 30 | 31 | 35 | 38 | 45 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /themes/Sakura/source/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/honjun/hexo-theme-sakura/92f6d48e48048e296d4999c354412bab2d751efa/themes/Sakura/source/images/favicon.ico -------------------------------------------------------------------------------- /themes/Sakura/source/js/InsightSearch.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Insight search plugin 3 | * @author PPOffice { @link https://github.com/ppoffice } 4 | */ 5 | (function ($, CONFIG) { 6 | var $main = $('.ins-search'); 7 | var $input = $main.find('.ins-search-input'); 8 | var $wrapper = $main.find('.ins-section-wrapper'); 9 | var $container = $main.find('.ins-section-container'); 10 | $main.parent().remove('.ins-search'); 11 | $('body').append($main); 12 | 13 | function section (title) { 14 | return $('
    ').addClass('ins-section') 15 | .append($('
    ').addClass('ins-section-header').text(title)); 16 | } 17 | 18 | function searchItem (icon, title, slug, preview, url) { 19 | return $('
    ').addClass('ins-selectable').addClass('ins-search-item') 20 | .append($('
    ').append($('').addClass('fa').addClass('fa-' + icon)).append(title != null && title != '' ? title : CONFIG.TRANSLATION['UNTITLED']) 21 | .append(slug ? $('').addClass('ins-slug').text(slug) : null)) 22 | .append(preview ? $('

    ').addClass('ins-search-preview').text(preview) : null) 23 | .attr('data-url', url); 24 | } 25 | 26 | function sectionFactory (type, array) { 27 | var sectionTitle; 28 | var $searchItems; 29 | if (array.length === 0) return null; 30 | sectionTitle = CONFIG.TRANSLATION[type]; 31 | switch (type) { 32 | case 'POSTS': 33 | case 'PAGES': 34 | $searchItems = array.map(function (item) { 35 | // Use config.root instead of permalink to fix url issue 36 | return searchItem('file', item.title, null, item.text.slice(0, 150), CONFIG.ROOT_URL + item.path); 37 | }); 38 | break; 39 | case 'CATEGORIES': 40 | case 'TAGS': 41 | $searchItems = array.map(function (item) { 42 | return searchItem(type === 'CATEGORIES' ? 'folder' : 'tag', item.name, item.slug, null, item.permalink); 43 | }); 44 | break; 45 | default: 46 | return null; 47 | } 48 | return section(sectionTitle).append($searchItems); 49 | } 50 | 51 | function extractToSet (json, key) { 52 | var values = {}; 53 | var entries = json.pages.concat(json.posts); 54 | entries.forEach(function (entry) { 55 | if (entry[key]) { 56 | entry[key].forEach(function (value) { 57 | values[value.name] = value; 58 | }); 59 | } 60 | }); 61 | var result = []; 62 | for (var key in values) { 63 | result.push(values[key]); 64 | } 65 | return result; 66 | } 67 | 68 | function parseKeywords (keywords) { 69 | return keywords.split(' ').filter(function (keyword) { 70 | return !!keyword; 71 | }).map(function (keyword) { 72 | return keyword.toUpperCase(); 73 | }); 74 | } 75 | 76 | /** 77 | * Judge if a given post/page/category/tag contains all of the keywords. 78 | * @param Object obj Object to be weighted 79 | * @param Array fields Object's fields to find matches 80 | */ 81 | function filter (keywords, obj, fields) { 82 | var result = false; 83 | var keywordArray = parseKeywords(keywords); 84 | var containKeywords = keywordArray.filter(function (keyword) { 85 | var containFields = fields.filter(function (field) { 86 | if (!obj.hasOwnProperty(field)) 87 | return false; 88 | if (obj[field].toUpperCase().indexOf(keyword) > -1) 89 | return true; 90 | }); 91 | if (containFields.length > 0) 92 | return true; 93 | return false; 94 | }); 95 | return containKeywords.length === keywordArray.length; 96 | } 97 | 98 | function filterFactory (keywords) { 99 | return { 100 | POST: function (obj) { 101 | return filter(keywords, obj, ['title', 'text']); 102 | }, 103 | PAGE: function (obj) { 104 | return filter(keywords, obj, ['title', 'text']); 105 | }, 106 | CATEGORY: function (obj) { 107 | return filter(keywords, obj, ['name', 'slug']); 108 | }, 109 | TAG: function (obj) { 110 | return filter(keywords, obj, ['name', 'slug']); 111 | } 112 | }; 113 | } 114 | 115 | /** 116 | * Calculate the weight of a matched post/page/category/tag. 117 | * @param Object obj Object to be weighted 118 | * @param Array fields Object's fields to find matches 119 | * @param Array weights Weight of every field 120 | */ 121 | function weight (keywords, obj, fields, weights) { 122 | var value = 0; 123 | parseKeywords(keywords).forEach(function (keyword) { 124 | var pattern = new RegExp(keyword, 'img'); // Global, Multi-line, Case-insensitive 125 | fields.forEach(function (field, index) { 126 | if (obj.hasOwnProperty(field)) { 127 | var matches = obj[field].match(pattern); 128 | value += matches ? matches.length * weights[index] : 0; 129 | } 130 | }); 131 | }); 132 | return value; 133 | } 134 | 135 | function weightFactory (keywords) { 136 | return { 137 | POST: function (obj) { 138 | return weight(keywords, obj, ['title', 'text'], [3, 1]); 139 | }, 140 | PAGE: function (obj) { 141 | return weight(keywords, obj, ['title', 'text'], [3, 1]); 142 | }, 143 | CATEGORY: function (obj) { 144 | return weight(keywords, obj, ['name', 'slug'], [1, 1]); 145 | }, 146 | TAG: function (obj) { 147 | return weight(keywords, obj, ['name', 'slug'], [1, 1]); 148 | } 149 | }; 150 | } 151 | 152 | function search (json, keywords) { 153 | var WEIGHTS = weightFactory(keywords); 154 | var FILTERS = filterFactory(keywords); 155 | var posts = json.posts; 156 | // var pages = json.pages; 157 | var tags = extractToSet(json, 'tags'); 158 | var categories = extractToSet(json, 'categories'); 159 | return { 160 | posts: posts.filter(FILTERS.POST).sort(function (a, b) { return WEIGHTS.POST(b) - WEIGHTS.POST(a); }).slice(0, 20), 161 | // pages: pages.filter(FILTERS.PAGE).sort(function (a, b) { return WEIGHTS.PAGE(b) - WEIGHTS.PAGE(a); }).slice(0, 5), 162 | categories: categories.filter(FILTERS.CATEGORY).sort(function (a, b) { return WEIGHTS.CATEGORY(b) - WEIGHTS.CATEGORY(a); }).slice(0, 5), 163 | tags: tags.filter(FILTERS.TAG).sort(function (a, b) { return WEIGHTS.TAG(b) - WEIGHTS.TAG(a); }).slice(0, 5) 164 | }; 165 | } 166 | 167 | function searchResultToDOM (searchResult) { 168 | $container.empty(); 169 | for (var key in searchResult) { 170 | $container.append(sectionFactory(key.toUpperCase(), searchResult[key])); 171 | } 172 | } 173 | 174 | function scrollTo ($item) { 175 | if ($item.length === 0) return; 176 | var wrapperHeight = $wrapper[0].clientHeight; 177 | var itemTop = $item.position().top - $wrapper.scrollTop(); 178 | var itemBottom = $item[0].clientHeight + $item.position().top; 179 | if (itemBottom > wrapperHeight + $wrapper.scrollTop()) { 180 | $wrapper.scrollTop(itemBottom - $wrapper[0].clientHeight); 181 | } 182 | if (itemTop < 0) { 183 | $wrapper.scrollTop($item.position().top); 184 | } 185 | } 186 | 187 | function selectItemByDiff (value) { 188 | var $items = $.makeArray($container.find('.ins-selectable')); 189 | var prevPosition = -1; 190 | $items.forEach(function (item, index) { 191 | if ($(item).hasClass('active')) { 192 | prevPosition = index; 193 | return; 194 | } 195 | }); 196 | var nextPosition = ($items.length + prevPosition + value) % $items.length; 197 | $($items[prevPosition]).removeClass('active'); 198 | $($items[nextPosition]).addClass('active'); 199 | scrollTo($($items[nextPosition])); 200 | } 201 | 202 | function gotoLink ($item) { 203 | if ($item && $item.length) { 204 | location.href = $item.attr('data-url'); 205 | } 206 | } 207 | 208 | $.getJSON(CONFIG.CONTENT_URL, function (json) { 209 | if (location.hash.trim() === '#ins-search') { 210 | $main.addClass('show'); 211 | } 212 | $input.on('input', function () { 213 | var keywords = $(this).val(); 214 | searchResultToDOM(search(json, keywords)); 215 | }); 216 | $input.trigger('input'); 217 | }); 218 | 219 | 220 | $(document).on('click focus', '.search-field', function () { 221 | $main.addClass('show'); 222 | $main.find('.ins-search-input').focus(); 223 | }).on('click focus', '.search-form-submit', function () { 224 | $main.addClass('show'); 225 | $main.find('.ins-search-input').focus(); 226 | }).on('click', '.ins-search-item', function () { 227 | gotoLink($(this)); 228 | }).on('click', '.ins-close', function () { 229 | $main.removeClass('show'); 230 | }).on('keydown', function (e) { 231 | if (!$main.hasClass('show')) return; 232 | switch (e.keyCode) { 233 | case 27: // ESC 234 | $main.removeClass('show'); break; 235 | case 38: // UP 236 | selectItemByDiff(-1); break; 237 | case 40: // DOWN 238 | selectItemByDiff(1); break; 239 | case 13: //ENTER 240 | gotoLink($container.find('.ins-selectable.active').eq(0)); break; 241 | } 242 | }); 243 | })(jQuery, window.INSIGHT_CONFIG); -------------------------------------------------------------------------------- /themes/Sakura/source/js/zoom.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * zoom.js - It's the best way to zoom an image 3 | * @version v0.0.2 4 | * @link https://github.com/fat/zoom.js 5 | * @license MIT 6 | */ 7 | 8 | +function(t){"use strict";function o(){this._activeZoom=this._initialScrollPosition=this._initialTouchPosition=this._touchMoveListener=null,this._$document=t(document),this._$window=t(window),this._$body=t(document.body),this._boundClick=t.proxy(this._clickHandler,this)}function i(o){this._fullHeight=this._fullWidth=this._overlay=this._targetImageWrap=null,this._targetImage=o,this._$body=t(document.body)}o.prototype.listen=function(){this._$body.on("click",'[data-action="zoom"]',t.proxy(this._zoom,this))},o.prototype._zoom=function(o){var e=o.target;if(e&&"IMG"==e.tagName&&!this._$body.hasClass("zoom-overlay-open"))return o.metaKey||o.ctrlKey?window.open(o.target.getAttribute("data-original")||o.target.src,"_blank"):void(e.width>=t(window).width()-i.OFFSET||(this._activeZoomClose(!0),this._activeZoom=new i(e),this._activeZoom.zoomImage(),this._$window.on("scroll.zoom",t.proxy(this._scrollHandler,this)),this._$document.on("keyup.zoom",t.proxy(this._keyHandler,this)),this._$document.on("touchstart.zoom",t.proxy(this._touchStart,this)),document.addEventListener?document.addEventListener("click",this._boundClick,!0):document.attachEvent("onclick",this._boundClick,!0),"bubbles"in o?o.bubbles&&o.stopPropagation():o.cancelBubble=!0))},o.prototype._activeZoomClose=function(t){this._activeZoom&&(t?this._activeZoom.dispose():this._activeZoom.close(),this._$window.off(".zoom"),this._$document.off(".zoom"),document.removeEventListener("click",this._boundClick,!0),this._activeZoom=null)},o.prototype._scrollHandler=function(o){null===this._initialScrollPosition&&(this._initialScrollPosition=t(window).scrollTop());var i=this._initialScrollPosition-t(window).scrollTop();Math.abs(i)>=40&&this._activeZoomClose()},o.prototype._keyHandler=function(t){27==t.keyCode&&this._activeZoomClose()},o.prototype._clickHandler=function(t){t.preventDefault?t.preventDefault():event.returnValue=!1,"bubbles"in t?t.bubbles&&t.stopPropagation():t.cancelBubble=!0,this._activeZoomClose()},o.prototype._touchStart=function(o){this._initialTouchPosition=o.touches[0].pageY,t(o.target).on("touchmove.zoom",t.proxy(this._touchMove,this))},o.prototype._touchMove=function(o){Math.abs(o.touches[0].pageY-this._initialTouchPosition)>10&&(this._activeZoomClose(),t(o.target).off("touchmove.zoom"))},i.OFFSET=80,i._MAX_WIDTH=2560,i._MAX_HEIGHT=4096,i.prototype.zoomImage=function(){var o=document.createElement("img");o.onload=t.proxy(function(){this._fullHeight=Number(o.height),this._fullWidth=Number(o.width),this._zoomOriginal()},this),o.src=this._targetImage.src},i.prototype._zoomOriginal=function(){this._targetImageWrap=document.createElement("div"),this._targetImageWrap.className="zoom-img-wrap",this._targetImage.parentNode.insertBefore(this._targetImageWrap,this._targetImage),this._targetImageWrap.appendChild(this._targetImage),t(this._targetImage).addClass("zoom-img").attr("data-action","zoom-out"),this._overlay=document.createElement("div"),this._overlay.className="zoom-overlay",document.body.appendChild(this._overlay),this._calculateZoom(),this._triggerAnimation()},i.prototype._calculateZoom=function(){this._targetImage.offsetWidth;var o=this._fullWidth,e=this._fullHeight,a=(t(window).scrollTop(),o/this._targetImage.width),s=t(window).height()-i.OFFSET,r=t(window).width()-i.OFFSET,n=o/e,h=r/s;this._imgScaleFactor=r>o&&s>e?a:h>n?s/e*a:r/o*a},i.prototype._triggerAnimation=function(){this._targetImage.offsetWidth;var o=t(this._targetImage).offset(),i=t(window).scrollTop(),e=i+t(window).height()/2,a=t(window).width()/2,s=o.top+this._targetImage.height/2,r=o.left+this._targetImage.width/2;this._translateY=e-s,this._translateX=a-r;var n="scale("+this._imgScaleFactor+")",h="translate("+this._translateX+"px, "+this._translateY+"px)";t.support.transition&&(h+=" translateZ(0)"),t(this._targetImage).css({"-webkit-transform":n,"-ms-transform":n,transform:n}),t(this._targetImageWrap).css({"-webkit-transform":h,"-ms-transform":h,transform:h}),this._$body.addClass("zoom-overlay-open")},i.prototype.close=function(){return this._$body.removeClass("zoom-overlay-open").addClass("zoom-overlay-transitioning"),t(this._targetImage).css({"-webkit-transform":"","-ms-transform":"",transform:""}),t(this._targetImageWrap).css({"-webkit-transform":"","-ms-transform":"",transform:""}),t.support.transition?void t(this._targetImage).one(t.support.transition.end,t.proxy(this.dispose,this)).emulateTransitionEnd(300):this.dispose()},i.prototype.dispose=function(){this._targetImageWrap&&this._targetImageWrap.parentNode&&(t(this._targetImage).removeClass("zoom-img").attr("data-action","zoom"),this._targetImageWrap.parentNode.replaceChild(this._targetImage,this._targetImageWrap),this._overlay.parentNode.removeChild(this._overlay),this._$body.removeClass("zoom-overlay-transitioning"))},t(function(){(new o).listen()})}(jQuery); -------------------------------------------------------------------------------- /themes/Sakura/source/warn.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 警告:不被支持的浏览器 5 | 6 | 7 | 28 | 29 | 30 |

    !

    31 |

    Not support IE9 and below

    32 |

    为保持体验良好,本站禁止不支持H5的浏览器访问

    33 |

    墙裂推荐使用 ChromeFirefox 浏览器访问本站。

    34 | 35 | --------------------------------------------------------------------------------