17 Commits

Author SHA1 Message Date
shenyu
f3932d682c 1.9.7-0 2022-02-24 17:18:36 +08:00
shenyu
07f3f29b6a 2022-02-24 17:13:48 +08:00
shenyu
47c56cc364 1.9.6 2022-02-24 11:27:13 +08:00
shenyu
bf2f718d73 Merge branch 'master' of github.com:Shen-Yu/hexo-theme-ayer 2022-02-24 11:21:56 +08:00
shenyu
550ab8a68d ️ update CDN 2022-02-24 11:21:40 +08:00
Eric Shen
15b16e79ce Update README.md 2022-02-23 17:45:58 +08:00
Eric Shen
84bca19471 Merge pull request #151 from eigeen/fix-new-miit-url
fix: new miit url
2022-01-07 18:14:23 +08:00
Eigeen
313752c594 fix: new miit url 2022-01-06 14:38:12 +08:00
shenyu
7ef6c7c618 📝 2021-08-13 10:43:37 +08:00
shenyu
31b38391de 1.9.5 2021-08-03 17:01:15 +08:00
shenyu
9c53a603f3 1.9.5-0 2021-08-03 17:01:02 +08:00
shenyu
a9db32d0cb 🐛 fix: blank space on firefox 2021-08-03 16:59:39 +08:00
shenyu
3ff73f9805 1.9.4-0 2021-07-29 14:26:46 +08:00
shenyu
5969d1a456 1.9.3 2021-07-23 13:46:11 +08:00
shenyu
219bb6db37 🎨 style: code format 2021-07-23 13:45:50 +08:00
shenyu
e0f4461fe5 🗑️ remove jquery-2.0.3.min.js 2021-07-23 13:28:34 +08:00
shenyu
20332ad8f2 ⬆️ chore: upgrade jquery 2021-07-23 13:26:32 +08:00
35 changed files with 7480 additions and 316 deletions

View File

@@ -1,6 +1,6 @@
<p align="center"><a href="https://shen-yu.gitee.io" target="_blank" rel="noopener noreferrer"><img width="100" src="logo.png" alt="ayer logo"></a></p> <p align="center"><a href="https://shen-yu.gitee.io" target="_blank" rel="noopener noreferrer"><img width="100" src="logo.png" alt="ayer logo"></a></p>
<h3 align="center">一个安静且优雅的 Hexo 主题</h3> <h3 align="center">一个干净且优雅的 Hexo 主题</h3>
<p align="center"> <p align="center">
<a href="https://travis-ci.org/Shen-Yu/hexo-theme-ayer?branch=master" target="_blank" rel="noopener noreferrer"> <a href="https://travis-ci.org/Shen-Yu/hexo-theme-ayer?branch=master" target="_blank" rel="noopener noreferrer">
@@ -33,7 +33,7 @@
--- ---
:ocean: Ayer is a clean and elegant theme for Hexo, also fast, powerful and responsive. It contains many awesome features, It's perfect for your blog, "Ayer" means "water" in Malaysian and "yesterday" in Spanish. If you have any queries or advice during the process of using, Please contact me! shenyu@hotmail.com :ocean: Ayer is a clean and elegant theme for Hexo, also fast, powerful and responsive. It contains many awesome features, It's perfect for your blog, "Ayer" means "water" in Malaysian and "yesterday" in Spanish. [Create an issue](https://github.com/shen-yu/hexo-theme-ayer/issues/new/choose) if you have any queries or advice during the process of using,
<b>注:收藏本主题请点右上角 Star谢谢~~ </b> <b>注:收藏本主题请点右上角 Star谢谢~~ </b>
<b>如果你想给主题添砖加瓦,可以点右上角 Fork然后给此仓库提交 PR</b> <b>如果你想给主题添砖加瓦,可以点右上角 Fork然后给此仓库提交 PR</b>

View File

@@ -84,9 +84,9 @@ reward_type: 2
# 打赏wording # 打赏wording
reward_wording: "请我喝杯咖啡吧~" reward_wording: "请我喝杯咖啡吧~"
# 支付宝二维码图片地址跟你设置logo的方式一样。比如/images/alipay.jpg # 支付宝二维码图片地址跟你设置logo的方式一样。比如/images/alipay.jpg
alipay: https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/alipay.jpg alipay: /images/alipay.jpg
# 微信二维码图片地址 # 微信二维码图片地址
weixin: https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/wechat.jpg weixin: /images/wechat.jpg
# 版权声明 # 版权声明
# 版权声明type设定0-关闭版权声明; 1-文章对应的md文件里有copyright: true属性才有版权声明 2-所有文章均有版权声明 # 版权声明type设定0-关闭版权声明; 1-文章对应的md文件里有copyright: true属性才有版权声明 2-所有文章均有版权声明
@@ -160,7 +160,7 @@ katex:
# mermaid流程图 三个选项缺一不可(https://mermaid-js.github.io/mermaid/) # mermaid流程图 三个选项缺一不可(https://mermaid-js.github.io/mermaid/)
mermaid: mermaid:
enable: false enable: false
cdn: https://cdn.jsdelivr.net/npm/mermaid@8.9.2/dist/mermaid.min.js cdn: https://cdn.staticfile.org/mermaid/8.14.0/mermaid.min.js
theme: forest theme: forest
# 网站成立年份(默认为 2019若填入年份小于当前年份则显示为 2018-2019 类似的格式) # 网站成立年份(默认为 2019若填入年份小于当前年份则显示为 2018-2019 类似的格式)
@@ -169,7 +169,7 @@ since: 2015
# ICP备案信息尾部显示 # ICP备案信息尾部显示
icp: icp:
enable: false enable: false
url: "http://www.beian.miit.gov.cn/" # 备案链接 url: "https://beian.miit.gov.cn/" # 备案链接
text: "浙ICP备88888888" # 备案信息 text: "浙ICP备88888888" # 备案信息
# 公安备案信息尾部显示 # 公安备案信息尾部显示
gongan: gongan:
@@ -187,28 +187,28 @@ friends_link:
img: /images/ayer.png img: /images/ayer.png
GitHub: GitHub:
url: https://github.com/Shen-Yu url: https://github.com/Shen-Yu
img: https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/github.png img: /images/github.png
码云: 码云:
url: https://gitee.com/shen-yu url: https://gitee.com/shen-yu
img: https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/gitee.png img: /images/gitee.png
Hexo官网: Hexo官网:
url: https://hexo.io url: https://hexo.io
img: https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/hexo.png img: /images/hexo.png
Hexo图表插件: Hexo图表插件:
url: https://github.com/Shen-Yu/hexo-tag-chart url: https://github.com/Shen-Yu/hexo-tag-chart
img: https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/hexo-tag-chart.png img: /images/hexo-tag-chart.png
# 评论1、Valine(推荐)2、Gitalk3、Twikoo; 4.MiniValine # 评论1、Valine(推荐)2、Gitalk3、Twikoo; 4.MiniValine
# 1、Valine[一款快速、简洁且高效的无后端评论系统](https://github.com/xCss/Valine) # 1、Valine[一款快速、简洁且高效的无后端评论系统](https://github.com/xCss/Valine)
# 启用Valine必须先创建leancloud应用 获取 id|key 填入即可 # 启用Valine必须先创建leancloud应用 获取 id|key 填入即可
leancloud: leancloud:
enable: true enable: false
app_id: # app_id: #
app_key: # app_key: #
# Valine配置 # Valine配置
valine: valine:
enable: true # 是否启用 enable: false # 是否启用
avatar: monsterid # 头像样式(https://valine.js.org/avatar.html) avatar: monsterid # 头像样式(https://valine.js.org/avatar.html)
placeholder: 给我的文章加点评论吧~ # placeholder placeholder: 给我的文章加点评论吧~ # placeholder
@@ -223,7 +223,7 @@ gitalk:
# 3、Twikoo(https://github.com/imaegoo/twikoo) # 3、Twikoo(https://github.com/imaegoo/twikoo)
twikoo: twikoo:
enable: false enable: true
envId: # envId: #
# 4、MiniValine # 4、MiniValine
@@ -240,12 +240,12 @@ minivaline:
ads: ads:
ad_1: ad_1:
title: 云服务器限时秒杀 title: 云服务器限时秒杀
img: https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/ten_1.jpg img: https://pic.imgdb.cn/item/62174b452ab3f51d912a5ccc.jpg
url: https://curl.qcloud.com/kvO7hb43 url: https://curl.qcloud.com/kvO7hb43
width: 300 width: 300
ad_2: ad_2:
title: vultr优惠vps title: vultr优惠vps
img: https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/vultr.png img: https://pic.imgdb.cn/item/62174b452ab3f51d912a5cd7.png
url: https://www.vultr.com/?ref=8630075 url: https://www.vultr.com/?ref=8630075
width: 300 width: 300

View File

@@ -1,4 +1,4 @@
<%- js('/js/jquery-2.0.3.min') %> <%- js('/js/lazyload.min') %> <%- js('/js/jquery-3.6.0.min') %> <%- js('/js/lazyload.min') %>
<!-- Tocbot --> <!-- Tocbot -->
<% if (theme.toc && is_post() && !page.no_toc){ %> <%- js('/js/tocbot.min') %> <% if (theme.toc && is_post() && !page.no_toc){ %> <%- js('/js/tocbot.min') %>
<script> <script>
@@ -15,12 +15,12 @@
}); });
</script> </script>
<% } %> <% } %>
<script src="https://cdn.jsdelivr.net/npm/jquery-modal@0.9.2/jquery.modal.min.js"></script> <script src="https://cdn.staticfile.org/jquery-modal/0.9.2/jquery.modal.min.js"></script>
<link <link
rel="stylesheet" rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/jquery-modal@0.9.2/jquery.modal.min.css" href="https://cdn.staticfile.org/jquery-modal/0.9.2/jquery.modal.min.css"
/> />
<script src="https://cdn.jsdelivr.net/npm/justifiedGallery@3.7.0/dist/js/jquery.justifiedGallery.min.js"></script> <script src="https://cdn.staticfile.org/justifiedGallery/3.8.1/js/jquery.justifiedGallery.min.js"></script>
<%- js('dist/main') %> <%- js('dist/main') %>
<!-- ImageViewer --> <!-- ImageViewer -->
<% if (theme.image_viewer){ %> <%- partial('viewer') %> <% } %> <% if (theme.image_viewer){ %> <%- partial('viewer') %> <% } %>
@@ -41,7 +41,7 @@ js('/js/busuanzi-2.3.pure.min') %> <% } %>
<% if (theme.click_effect===1){ %> <%- js('/js/clickLove') %> <% } %> <% if (theme.click_effect===1){ %> <%- js('/js/clickLove') %> <% } %>
<!-- ClickBoom1 --> <!-- ClickBoom1 -->
<% if (theme.click_effect===2){ %> <% if (theme.click_effect===2){ %>
<script src="https://cdn.jsdelivr.net/npm/animejs@latest/anime.min.js"></script> <script src="https://cdn.staticfile.org/animejs/3.2.1/anime.min.js"></script>
<%- js('/js/clickBoom1') %> <% } %> <%- js('/js/clickBoom1') %> <% } %>
<!-- ClickBoom2 --> <!-- ClickBoom2 -->
<% if (theme.click_effect===3){ %> <%- js('/js/clickBoom2') %> <% } %> <% if (theme.click_effect===3){ %> <%- js('/js/clickBoom2') %> <% } %>

View File

@@ -37,7 +37,7 @@
<% } %> <% } %>
<% if (theme.subtitle.enable){ %> <% if (theme.subtitle.enable){ %>
<script src="https://cdn.jsdelivr.net/npm/typed.js@2.0.11/lib/typed.min.js"></script> <script src="https://cdn.staticfile.org/typed.js/2.0.12/typed.min.js"></script>
<% } %> <% } %>
<!-- Subtitle --> <!-- Subtitle -->

View File

@@ -32,12 +32,9 @@
<% if (theme.favicon){ %> <% if (theme.favicon){ %>
<link rel="shortcut icon" href="<%- theme.favicon %>" /> <link rel="shortcut icon" href="<%- theme.favicon %>" />
<% } %> <%- css('dist/main') %> <% } %> <%- css('dist/main') %>
<link <%- css('css/fonts/remixicon') %>
rel="stylesheet"
href="https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/css/remixicon.min.css"
/>
<%- css('css/custom') %> <% if (theme.progressBar){ %> <%- css('css/custom') %> <% if (theme.progressBar){ %>
<script src="https://cdn.jsdelivr.net/npm/pace-js@1.0.2/pace.min.js"></script> <script src="https://cdn.staticfile.org/pace/1.2.4/pace.min.js"></script>
<% } %> <%- partial('google-analytics') %> <%- partial('baidu-analytics') <% } %> <%- partial('google-analytics') %> <%- partial('baidu-analytics')
%> %>
<link <link

View File

@@ -1,11 +1,11 @@
<% if ( theme.katex.enable ) { %> <% if ( theme.katex.enable ) { %>
<% if( theme.katex.allpost || page.math ) { %> <% if( theme.katex.allpost || page.math ) { %>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css"> <link rel="stylesheet" href="https://cdn.staticfile.org/KaTeX/0.15.1/katex.min.css">
<script src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js"></script> <script src="https://cdn.staticfile.org/KaTeX/0.15.1/katex.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js"></script> <script src="https://cdn.staticfile.org/KaTeX/0.15.1/contrib/auto-render.min.js"></script>
<% if ( theme.katex.copy_tex ) { %> <% if ( theme.katex.copy_tex ) { %>
<script src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/copy-tex.min.js"></script> <script src="https://cdn.staticfile.org/KaTeX/0.15.1/contrib/copy-tex.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/copy-tex.min.css"> <link rel="stylesheet" href="https://cdn.staticfile.org/KaTeX/0.15.1/contrib/copy-tex.min.css">
<% } %> <% } %>
<% } %> <% } %>
<% } %> <% } %>

View File

@@ -15,4 +15,5 @@
}); });
</script> </script>
<script src="https://cdn.jsdelivr.net/npm/mathjax@2.7.6/unpacked/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script src="https://cdn.staticfile.org/mathjax/2.7.7/MathJax.js"></script>
<script src="https://cdn.staticfile.org/mathjax/2.7.7/config/TeX-AMS-MML_HTMLorMML-full.js"></script>

View File

@@ -1,4 +1,4 @@
<script src="https://cdn.jsdelivr.net/npm/clipboard@2/dist/clipboard.min.js"></script> <script src="https://cdn.staticfile.org/clipboard.js/2.0.10/clipboard.min.js"></script>
<script> <script>
function wait(callback, seconds) { function wait(callback, seconds) {
var timelag = null; var timelag = null;

View File

@@ -1,8 +1,8 @@
<% if (theme.gitalk.enable && post.comments) { %> <% if (theme.gitalk.enable && post.comments) { %>
<div class="gitalk" id="gitalk-container"></div> <div class="gitalk" id="gitalk-container"></div>
<%- css('https://cdn.jsdelivr.net/npm/gitalk@1.7.2/dist/gitalk.css') %> <%- css('https://cdn.staticfile.org/gitalk/1.7.2/gitalk.min.css') %>
<%- js('https://cdn.jsdelivr.net/npm/gitalk@1.7.2/dist/gitalk.min.js') %> <%- js('https://cdn.staticfile.org/gitalk/1.7.2/gitalk.min.js') %>
<%- js('https://cdn.jsdelivr.net/npm/blueimp-md5@2.10.0/js/md5.min.js') %> <%- js('https://cdn.staticfile.org/blueimp-md5/2.19.0/js/md5.min.js') %>
<script type="text/javascript"> <script type="text/javascript">
var gitalk = new Gitalk({ var gitalk = new Gitalk({
clientID: '<%- theme.gitalk.clientID %>', clientID: '<%- theme.gitalk.clientID %>',

View File

@@ -1,5 +1,5 @@
<% if (!index && theme.twikoo && theme.twikoo.enable){ %> <% if (!index && theme.twikoo && theme.twikoo.enable){ %>
<script src="https://cdn.jsdelivr.net/npm/twikoo/dist/twikoo.all.min.js"></script> <script src="https://cdn.staticfile.org/twikoo/1.4.18/twikoo.all.min.js"></script>
<div id="twikoo" class="twikoo"></div> <div id="twikoo" class="twikoo"></div>
<script> <script>
twikoo.init({ twikoo.init({

View File

@@ -4,7 +4,7 @@
<div id="vcomments"></div> <div id="vcomments"></div>
</div> </div>
<script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script> <script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/valine@1.4.14/dist/Valine.min.js"></script> <script src="https://cdn.staticfile.org/valine/1.4.16/Valine.min.js"></script>
<script> <script>
new Valine({ new Valine({
el: "#vcomments", el: "#vcomments",

View File

@@ -65,10 +65,10 @@
</div> </div>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe.min.css"> <link rel="stylesheet" href="https://cdn.staticfile.org/photoswipe/4.1.3/photoswipe.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/default-skin/default-skin.min.css"> <link rel="stylesheet" href="https://cdn.staticfile.org/photoswipe/4.1.3/default-skin/default-skin.min.css">
<script src="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe.min.js"></script> <script src="https://cdn.staticfile.org/photoswipe/4.1.3/photoswipe.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe-ui-default.min.js"></script> <script src="https://cdn.staticfile.org/photoswipe/4.1.3/photoswipe-ui-default.min.js"></script>
<script> <script>
function viewer_init() { function viewer_init() {

View File

@@ -21,10 +21,10 @@
<main class="content on"> <main class="content on">
<%- body %> <%- body %>
<%- partial('_partial/footer', null, {cache: !config.relative_link}) %> <%- partial('_partial/footer', null, {cache: !config.relative_link}) %>
<div class="float_btns">
<%- partial('_partial/totop') %>
</div>
</main> </main>
<div class="float_btns">
<%- partial('_partial/float-btns') %>
</div>
<aside class="sidebar on"> <aside class="sidebar on">
<%- partial('_partial/sidebar') %> <%- partial('_partial/sidebar') %>
</aside> </aside>

View File

@@ -1,6 +1,6 @@
{ {
"name": "hexo-theme-ayer", "name": "hexo-theme-ayer",
"version": "1.9.2", "version": "1.9.7-0",
"description": "a clean and elegant theme for hexo.", "description": "a clean and elegant theme for hexo.",
"scripts": { "scripts": {
"dev": "rollup -c -w", "dev": "rollup -c -w",

View File

@@ -10,7 +10,7 @@
*/ */
// variables // variables
remixicon-font-path = 'https://cdn.jsdelivr.net/npm/remixicon@2.1.0/fonts/' !default; remixicon-font-path = './remixicon/fonts/' !default;
@font-face @font-face
font-family: remixicon; font-family: remixicon;

View File

@@ -1,6 +1,5 @@
@import "_variables" @import "_variables"
@import "_mixins" @import "_mixins"
@import "_remixicon"
@import "_normalize" @import "_normalize"
@import "_darkmode" @import "_darkmode"

View File

@@ -15,7 +15,7 @@
}, searchAnimDuration); }, searchAnimDuration);
}; };
$(".nav-item-search").click(() => { $(".nav-item-search").on("click", () => {
if (isSearchAnim) return; if (isSearchAnim) return;
startSearchAnim(); startSearchAnim();
$searchWrap.addClass("on"); $searchWrap.addClass("on");
@@ -24,7 +24,7 @@
}); });
}); });
$(document).mouseup((e) => { $(document).on("mouseup", (e) => {
const _con = $(".local-search"); const _con = $(".local-search");
if (!_con.is(e.target) && _con.has(e.target).length === 0) { if (!_con.is(e.target) && _con.has(e.target).length === 0) {
$searchWrap.removeClass("on"); $searchWrap.removeClass("on");
@@ -32,7 +32,7 @@
}); });
// Not recommended in mobile, /search.xml is actually large. // Not recommended in mobile, /search.xml is actually large.
if ($(".local-search").size()) { if ($(".local-search").length) {
$.getScript("/js/search.js", function () { $.getScript("/js/search.js", function () {
searchFunc("/search.xml", "local-search-input", "local-search-result"); searchFunc("/search.xml", "local-search-input", "local-search-result");
}); });
@@ -67,7 +67,7 @@
}; };
// Share // Share
$(".share-outer").click(() => $(".share-wrap").fadeToggle()); $(".share-outer").on("click", () => $(".share-wrap").fadeToggle());
// Lazyload // Lazyload
$("img.lazy").lazyload({ $("img.lazy").lazyload({
@@ -82,7 +82,7 @@
// ScrollDown // ScrollDown
$(document).ready(function ($) { $(document).ready(function ($) {
$(".anchor").click(function (e) { $(".anchor").on("click", function (e) {
e.preventDefault(); e.preventDefault();
$("main").animate({ scrollTop: $(".cover").height() }, "smooth"); $("main").animate({ scrollTop: $(".cover").height() }, "smooth");
}); });
@@ -102,7 +102,7 @@
// Show and hide the scroll to top link based on scroll position // Show and hide the scroll to top link based on scroll position
scrollElem.hide(); scrollElem.hide();
$(".content").scroll(function () { $(".content").on("scroll", () => {
const scrollTop = $(".content").scrollTop(); const scrollTop = $(".content").scrollTop();
if (scrollTop > upperLimit) { if (scrollTop > upperLimit) {
$(scrollElem).stop().fadeTo(200, 0.6); // fade back in $(scrollElem).stop().fadeTo(200, 0.6); // fade back in
@@ -112,7 +112,7 @@
}); });
// Scroll to top animation on click // Scroll to top animation on click
$(scrollElem).click(function () { $(scrollElem).on("click", () => {
$(".content").animate({ scrollTop: 0 }, scrollSpeed); $(".content").animate({ scrollTop: 0 }, scrollSpeed);
return false; return false;
}); });
@@ -135,18 +135,18 @@
const $content = $(".content"), const $content = $(".content"),
$sidebar = $(".sidebar"); $sidebar = $(".sidebar");
$(".navbar-toggle").on("click", function () { $(".navbar-toggle").on("click", () => {
$(".content,.sidebar").addClass("anim"); $(".content,.sidebar").addClass("anim");
$content.toggleClass("on"); $content.toggleClass("on");
$sidebar.toggleClass("on"); $sidebar.toggleClass("on");
}); });
// Reward // Reward
$("#reward-btn").click(() => { $("#reward-btn").on("click", () => {
$("#reward").fadeIn(150); $("#reward").fadeIn(150);
$("#mask").fadeIn(150); $("#mask").fadeIn(150);
}); });
$("#reward .close, #mask").click(() => { $("#reward .close, #mask").on("click", () => {
$("#mask").fadeOut(100); $("#mask").fadeOut(100);
$("#reward").fadeOut(100); $("#reward").fadeOut(100);
}); });
@@ -159,7 +159,7 @@
$("body").removeClass("darkmode"); $("body").removeClass("darkmode");
$("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line"); $("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line");
} }
$("#todark").click(() => { $("#todark").on("click", () => {
if (sessionStorage.getItem("darkmode") == 1) { if (sessionStorage.getItem("darkmode") == 1) {
$("body").removeClass("darkmode"); $("body").removeClass("darkmode");
$("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line"); $("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line");

View File

@@ -63,7 +63,7 @@
<h3> <h3>
Please check it, Maybe you should read Please check it, Maybe you should read
<a href="https://hexo.io/docs/">Hexo</a> and <a href="https://hexo.io/docs/">Hexo</a> and
<a href="https://shen-yu.gitee.io/2019/ayer/">Ayer</a> Docs <a href="https://github.com/Shen-Yu/hexo-theme-ayer">Ayer</a> Docs
carefully. carefully.
</h3> </h3>
<h3> <h3>
@@ -72,7 +72,7 @@
<a href="https://shen-yu.gitee.io/2019/ayer/">Ayer</a> ~ <a href="https://shen-yu.gitee.io/2019/ayer/">Ayer</a> ~
</h3> </h3>
</figcaption> </figcaption>
<img src="https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/404.jpg" /> <img src="https://tvax4.sinaimg.cn/large/9156bd04ly1gzofhomcm4j20zk0p5jrw.jpg" />
</figure> </figure>
</div> </div>
</body> </body>

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 868 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

2
source/dist/main.js vendored
View File

@@ -1 +1 @@
!function(){"use strict";var e;function t(e,t){e=e.replace(/<%-sUrl%>/g,encodeURIComponent(t.sUrl)).replace(/<%-sTitle%>/g,encodeURIComponent(t.sTitle)).replace(/<%-sDesc%>/g,encodeURIComponent(t.sDesc)).replace(/<%-sPic%>/g,encodeURIComponent(t.sPic));window.open(e)}function o(){$(".wx-share-modal").removeClass("in ready"),$("#share-mask").hide()}function s(e,o){"weibo"===e?t("http://service.weibo.com/share/share.php?url=<%-sUrl%>&title=<%-sTitle%>&pic=<%-sPic%>",o):"qq"===e?t("http://connect.qq.com/widget/shareqq/index.html?url=<%-sUrl%>&title=<%-sTitle%>&source=<%-sDesc%>",o):"douban"===e?t("https://www.douban.com/share/service?image=<%-sPic%>&href=<%-sUrl%>&name=<%-sTitle%>&text=<%-sDesc%>",o):"qzone"===e?t("http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=<%-sUrl%>&title=<%-sTitle%>&pics=<%-sPic%>&summary=<%-sDesc%>",o):"facebook"===e?t("https://www.facebook.com/sharer/sharer.php?u=<%-sUrl%>",o):"twitter"===e?t("https://twitter.com/intent/tweet?text=<%-sTitle%>&url=<%-sUrl%>",o):"google"===e?t("https://plus.google.com/share?url=<%-sUrl%>",o):"weixin"===e&&($(".wx-share-modal").addClass("in ready"),$("#share-mask").show())}!function(e){let t=e(".search-form-wrap"),o=!1;e(".nav-item-search").click((()=>{var s;o||(o=!0,t.addClass("on"),s=function(){e(".local-search-input").focus()},setTimeout((function(){o=!1,s&&s()}),200))})),e(document).mouseup((o=>{const s=e(".local-search");s.is(o.target)||0!==s.has(o.target).length||t.removeClass("on")})),e(".local-search").size()&&e.getScript("/js/search.js",(function(){searchFunc("/search.xml","local-search-input","local-search-result")})),e(".share-outer").click((()=>e(".share-wrap").fadeToggle())),e("img.lazy").lazyload({effect:"fadeIn"}),e("#gallery").justifiedGallery({rowHeight:200,margins:5}),e(document).ready((function(e){e(".anchor").click((function(t){t.preventDefault(),e("main").animate({scrollTop:e(".cover").height()},"smooth")}))})),(()=>{const t=e("#totop");t.hide(),e(".content").scroll((function(){e(".content").scrollTop()>1e3?e(t).stop().fadeTo(200,.6):e(t).stop().fadeTo(200,0)})),e(t).click((function(){return e(".content").animate({scrollTop:0},1e3),!1}))})(),e(".article-entry").each((function(t){e(this).find("img").each((function(){if(e(this).parent().is("a"))return;const{alt:t}=this;t&&e(this).after('<span class="caption">'+t+"</span>")}))}));const s=e(".content"),r=e(".sidebar");e(".navbar-toggle").on("click",(function(){e(".content,.sidebar").addClass("anim"),s.toggleClass("on"),r.toggleClass("on")})),e("#reward-btn").click((()=>{e("#reward").fadeIn(150),e("#mask").fadeIn(150)})),e("#reward .close, #mask").click((()=>{e("#mask").fadeOut(100),e("#reward").fadeOut(100)})),1==sessionStorage.getItem("darkmode")?(e("body").addClass("darkmode"),e("#todark i").removeClass("ri-moon-line").addClass("ri-sun-line")):(e("body").removeClass("darkmode"),e("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line")),e("#todark").click((()=>{1==sessionStorage.getItem("darkmode")?(e("body").removeClass("darkmode"),e("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line"),sessionStorage.removeItem("darkmode")):(e("body").addClass("darkmode"),e("#todark i").removeClass("ri-moon-line").addClass("ri-sun-line"),sessionStorage.setItem("darkmode",1))}));console.log("%c%s%c%s%c%s","background-color: #49b1f5; color: #fff; padding: 8px; font-size: 14px;","主题不错⭐star 支持一下 ->","background-color: #ffbca2; padding: 8px; font-size: 14px;","https://github.com/Shen-Yu/hexo-theme-ayer","background-color: #eaf8ff;","\n\n _ __ _______ _____ \n / \\ \\ \\ / / ____| _ \\ \n / _ \\ \\ V /| _| | |_) | \n / ___ \\ | | | |___| _ < \n /_/ \\_\\ _| |_____|_| \\__\\ \n")}(jQuery),e={id:"JGjrOr2rebvP6q2a",ck:"JGjrOr2rebvP6q2a"},function(t){var o=window,s=document,r=e,a="".concat("https:"===s.location.protocol?"https://":"http://","sdk.51.la/js-sdk-pro.min.js"),n=s.createElement("script"),c=s.getElementsByTagName("script")[0];n.type="text/javascript",n.setAttribute("charset","UTF-8"),n.async=!0,n.src=a,n.id="LA_COLLECT",r.d=n;var i=function(){o.LA.ids.push(r)};o.LA?o.LA.ids&&i():(o.LA=e,o.LA.ids=[],i()),c.parentNode.insertBefore(n,c)}();(()=>{let e=document.querySelectorAll(".share-sns");if(!e||0===e.length)return;let t=window.location.href,r=document.querySelector("title").innerHTML,a=document.querySelectorAll(".article-entry img").length?document.querySelector(".article-entry img").getAttribute("src"):"";""===a||/^(http:|https:)?\/\//.test(a)||(a=window.location.origin+a),e.forEach((e=>{e.onclick=o=>{s(e.getAttribute("data-type"),{sUrl:t,sPic:a,sTitle:r,sDesc:r})}})),document.querySelector("#mask").onclick=o,document.querySelector(".modal-close").onclick=o})()}(); !function(){"use strict";var e;function t(e,t){e=e.replace(/<%-sUrl%>/g,encodeURIComponent(t.sUrl)).replace(/<%-sTitle%>/g,encodeURIComponent(t.sTitle)).replace(/<%-sDesc%>/g,encodeURIComponent(t.sDesc)).replace(/<%-sPic%>/g,encodeURIComponent(t.sPic));window.open(e)}function o(){$(".wx-share-modal").removeClass("in ready"),$("#share-mask").hide()}function s(e,o){"weibo"===e?t("http://service.weibo.com/share/share.php?url=<%-sUrl%>&title=<%-sTitle%>&pic=<%-sPic%>",o):"qq"===e?t("http://connect.qq.com/widget/shareqq/index.html?url=<%-sUrl%>&title=<%-sTitle%>&source=<%-sDesc%>",o):"douban"===e?t("https://www.douban.com/share/service?image=<%-sPic%>&href=<%-sUrl%>&name=<%-sTitle%>&text=<%-sDesc%>",o):"qzone"===e?t("http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=<%-sUrl%>&title=<%-sTitle%>&pics=<%-sPic%>&summary=<%-sDesc%>",o):"facebook"===e?t("https://www.facebook.com/sharer/sharer.php?u=<%-sUrl%>",o):"twitter"===e?t("https://twitter.com/intent/tweet?text=<%-sTitle%>&url=<%-sUrl%>",o):"google"===e?t("https://plus.google.com/share?url=<%-sUrl%>",o):"weixin"===e&&($(".wx-share-modal").addClass("in ready"),$("#share-mask").show())}!function(e){let t=e(".search-form-wrap"),o=!1;e(".nav-item-search").on("click",(()=>{var s;o||(o=!0,t.addClass("on"),s=function(){e(".local-search-input").focus()},setTimeout((function(){o=!1,s&&s()}),200))})),e(document).on("mouseup",(o=>{const s=e(".local-search");s.is(o.target)||0!==s.has(o.target).length||t.removeClass("on")})),e(".local-search").length&&e.getScript("/js/search.js",(function(){searchFunc("/search.xml","local-search-input","local-search-result")})),e(".share-outer").on("click",(()=>e(".share-wrap").fadeToggle())),e("img.lazy").lazyload({effect:"fadeIn"}),e("#gallery").justifiedGallery({rowHeight:200,margins:5}),e(document).ready((function(e){e(".anchor").on("click",(function(t){t.preventDefault(),e("main").animate({scrollTop:e(".cover").height()},"smooth")}))})),(()=>{const t=e("#totop");t.hide(),e(".content").on("scroll",(()=>{e(".content").scrollTop()>1e3?e(t).stop().fadeTo(200,.6):e(t).stop().fadeTo(200,0)})),e(t).on("click",(()=>(e(".content").animate({scrollTop:0},1e3),!1)))})(),e(".article-entry").each((function(t){e(this).find("img").each((function(){if(e(this).parent().is("a"))return;const{alt:t}=this;t&&e(this).after('<span class="caption">'+t+"</span>")}))}));const s=e(".content"),r=e(".sidebar");e(".navbar-toggle").on("click",(()=>{e(".content,.sidebar").addClass("anim"),s.toggleClass("on"),r.toggleClass("on")})),e("#reward-btn").on("click",(()=>{e("#reward").fadeIn(150),e("#mask").fadeIn(150)})),e("#reward .close, #mask").on("click",(()=>{e("#mask").fadeOut(100),e("#reward").fadeOut(100)})),1==sessionStorage.getItem("darkmode")?(e("body").addClass("darkmode"),e("#todark i").removeClass("ri-moon-line").addClass("ri-sun-line")):(e("body").removeClass("darkmode"),e("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line")),e("#todark").on("click",(()=>{1==sessionStorage.getItem("darkmode")?(e("body").removeClass("darkmode"),e("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line"),sessionStorage.removeItem("darkmode")):(e("body").addClass("darkmode"),e("#todark i").removeClass("ri-moon-line").addClass("ri-sun-line"),sessionStorage.setItem("darkmode",1))}));console.log("%c%s%c%s%c%s","background-color: #49b1f5; color: #fff; padding: 8px; font-size: 14px;","主题不错⭐star 支持一下 ->","background-color: #ffbca2; padding: 8px; font-size: 14px;","https://github.com/Shen-Yu/hexo-theme-ayer","background-color: #eaf8ff;","\n\n _ __ _______ _____ \n / \\ \\ \\ / / ____| _ \\ \n / _ \\ \\ V /| _| | |_) | \n / ___ \\ | | | |___| _ < \n /_/ \\_\\ _| |_____|_| \\__\\ \n")}(jQuery),e={id:"JGjrOr2rebvP6q2a",ck:"JGjrOr2rebvP6q2a"},function(t){var o=window,s=document,r=e,n="".concat("https:"===s.location.protocol?"https://":"http://","sdk.51.la/js-sdk-pro.min.js"),a=s.createElement("script"),c=s.getElementsByTagName("script")[0];a.type="text/javascript",a.setAttribute("charset","UTF-8"),a.async=!0,a.src=n,a.id="LA_COLLECT",r.d=a;var i=function(){o.LA.ids.push(r)};o.LA?o.LA.ids&&i():(o.LA=e,o.LA.ids=[],i()),c.parentNode.insertBefore(a,c)}();(()=>{let e=document.querySelectorAll(".share-sns");if(!e||0===e.length)return;let t=window.location.href,r=document.querySelector("title").innerHTML,n=document.querySelectorAll(".article-entry img").length?document.querySelector(".article-entry img").getAttribute("src"):"";""===n||/^(http:|https:)?\/\//.test(n)||(n=window.location.origin+n),e.forEach((e=>{e.onclick=o=>{s(e.getAttribute("data-type"),{sUrl:t,sPic:n,sTitle:r,sDesc:r})}})),document.querySelector("#mask").onclick=o,document.querySelector(".modal-close").onclick=o})()}();

BIN
source/images/gitee.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
source/images/github.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
source/images/hexo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -43,7 +43,7 @@ function setParticuleDirection(p) {
let radius = [-1, 1][anime.random(0, 1)] * value; let radius = [-1, 1][anime.random(0, 1)] * value;
return { return {
x: p.x + radius * Math.cos(angle), x: p.x + radius * Math.cos(angle),
y: p.y + radius * Math.sin(angle) y: p.y + radius * Math.sin(angle),
}; };
} }
@@ -113,7 +113,7 @@ function animateParticules(x, y) {
radius: 0.1, radius: 0.1,
duration: anime.random(minAnimeDuration, maxAnimeDuration), duration: anime.random(minAnimeDuration, maxAnimeDuration),
easing: "easeOutExpo", easing: "easeOutExpo",
update: renderParticule update: renderParticule,
}) })
.add({ .add({
targets: circle, targets: circle,
@@ -122,12 +122,12 @@ function animateParticules(x, y) {
alpha: { alpha: {
value: 0, value: 0,
easing: "linear", easing: "linear",
duration: anime.random(600, 800) duration: anime.random(600, 800),
}, },
duration: anime.random(1200, 1800), duration: anime.random(1200, 1800),
easing: "easeOutExpo", easing: "easeOutExpo",
update: renderParticule, update: renderParticule,
offset: 0 offset: 0,
}); });
} }
@@ -135,7 +135,7 @@ let render = anime({
duration: Infinity, duration: Infinity,
update: function () { update: function () {
ctx.clearRect(0, 0, canvasEl.width, canvasEl.height); ctx.clearRect(0, 0, canvasEl.width, canvasEl.height);
} },
}); });
document.addEventListener( document.addEventListener(

View File

@@ -1,96 +1,110 @@
class Circle { class Circle {
constructor({ origin, speed, color, angle, context }) { constructor({ origin, speed, color, angle, context }) {
this.origin = origin this.origin = origin;
this.position = { ...this.origin } this.position = { ...this.origin };
this.color = color this.color = color;
this.speed = speed this.speed = speed;
this.angle = angle this.angle = angle;
this.context = context this.context = context;
this.renderCount = 0 this.renderCount = 0;
} }
draw() { draw() {
this.context.fillStyle = this.color this.context.fillStyle = this.color;
this.context.beginPath() this.context.beginPath();
this.context.arc(this.position.x, this.position.y, 2, 0, Math.PI * 2) this.context.arc(this.position.x, this.position.y, 2, 0, Math.PI * 2);
this.context.fill() this.context.fill();
} }
move() { move() {
this.position.x = (Math.sin(this.angle) * this.speed) + this.position.x this.position.x = Math.sin(this.angle) * this.speed + this.position.x;
this.position.y = (Math.cos(this.angle) * this.speed) + this.position.y + (this.renderCount * 0.3) this.position.y =
this.renderCount++ Math.cos(this.angle) * this.speed +
} this.position.y +
this.renderCount * 0.3;
this.renderCount++;
} }
}
class Boom { class Boom {
constructor ({ origin, context, circleCount = 10, area }) { constructor({ origin, context, circleCount = 10, area }) {
this.origin = origin this.origin = origin;
this.context = context this.context = context;
this.circleCount = circleCount this.circleCount = circleCount;
this.area = area this.area = area;
this.stop = false this.stop = false;
this.circles = [] this.circles = [];
} }
randomArray(range) { randomArray(range) {
const length = range.length const length = range.length;
const randomIndex = Math.floor(length * Math.random()) const randomIndex = Math.floor(length * Math.random());
return range[randomIndex] return range[randomIndex];
} }
randomColor() { randomColor() {
const range = ['8', '9', 'A', 'B', 'C', 'D', 'E', 'F'] const range = ["8", "9", "A", "B", "C", "D", "E", "F"];
return '#' + this.randomArray(range) + this.randomArray(range) + this.randomArray(range) + this.randomArray(range) + this.randomArray(range) + this.randomArray(range) return (
"#" +
this.randomArray(range) +
this.randomArray(range) +
this.randomArray(range) +
this.randomArray(range) +
this.randomArray(range) +
this.randomArray(range)
);
} }
randomRange(start, end) { randomRange(start, end) {
return (end - start) * Math.random() + start return (end - start) * Math.random() + start;
} }
init() { init() {
for(let i = 0; i < this.circleCount; i++) { for (let i = 0; i < this.circleCount; i++) {
const circle = new Circle({ const circle = new Circle({
context: this.context, context: this.context,
origin: this.origin, origin: this.origin,
color: this.randomColor(), color: this.randomColor(),
angle: this.randomRange(Math.PI - 1, Math.PI + 1), angle: this.randomRange(Math.PI - 1, Math.PI + 1),
speed: this.randomRange(1, 6) speed: this.randomRange(1, 6),
}) });
this.circles.push(circle) this.circles.push(circle);
} }
} }
move() { move() {
this.circles.forEach((circle, index) => { this.circles.forEach((circle, index) => {
if (circle.position.x > this.area.width || circle.position.y > this.area.height) { if (
return this.circles.splice(index, 1) circle.position.x > this.area.width ||
circle.position.y > this.area.height
) {
return this.circles.splice(index, 1);
} }
circle.move() circle.move();
}) });
if (this.circles.length == 0) { if (this.circles.length == 0) {
this.stop = true this.stop = true;
} }
} }
draw() { draw() {
this.circles.forEach(circle => circle.draw()) this.circles.forEach((circle) => circle.draw());
}
} }
}
class CursorSpecialEffects { class CursorSpecialEffects {
constructor() { constructor() {
this.computerCanvas = document.createElement('canvas') this.computerCanvas = document.createElement("canvas");
this.renderCanvas = document.createElement('canvas') this.renderCanvas = document.createElement("canvas");
this.computerContext = this.computerCanvas.getContext('2d') this.computerContext = this.computerCanvas.getContext("2d");
this.renderContext = this.renderCanvas.getContext('2d') this.renderContext = this.renderCanvas.getContext("2d");
this.globalWidth = window.innerWidth this.globalWidth = window.innerWidth;
this.globalHeight = window.innerHeight this.globalHeight = window.innerHeight;
this.booms = [] this.booms = [];
this.running = false this.running = false;
} }
handleMouseDown(e) { handleMouseDown(e) {
@@ -99,56 +113,68 @@ class Circle {
context: this.computerContext, context: this.computerContext,
area: { area: {
width: this.globalWidth, width: this.globalWidth,
height: this.globalHeight height: this.globalHeight,
} },
}) });
boom.init() boom.init();
this.booms.push(boom) this.booms.push(boom);
this.running || this.run() this.running || this.run();
} }
handlePageHide() { handlePageHide() {
this.booms = [] this.booms = [];
this.running = false this.running = false;
} }
init() { init() {
const style = this.renderCanvas.style const style = this.renderCanvas.style;
style.position = 'fixed' style.position = "fixed";
style.top = style.left = 0 style.top = style.left = 0;
style.zIndex = '99999' style.zIndex = "99999";
style.pointerEvents = 'none' style.pointerEvents = "none";
style.width = this.renderCanvas.width = this.computerCanvas.width = this.globalWidth style.width =
style.height = this.renderCanvas.height = this.computerCanvas.height = this.globalHeight this.renderCanvas.width =
this.computerCanvas.width =
this.globalWidth;
style.height =
this.renderCanvas.height =
this.computerCanvas.height =
this.globalHeight;
document.body.append(this.renderCanvas) document.body.append(this.renderCanvas);
window.addEventListener('mousedown', this.handleMouseDown.bind(this)) window.addEventListener("mousedown", this.handleMouseDown.bind(this));
window.addEventListener('pagehide', this.handlePageHide.bind(this)) window.addEventListener("pagehide", this.handlePageHide.bind(this));
} }
run() { run() {
this.running = true this.running = true;
if (this.booms.length == 0) { if (this.booms.length == 0) {
return this.running = false return (this.running = false);
} }
requestAnimationFrame(this.run.bind(this)) requestAnimationFrame(this.run.bind(this));
this.computerContext.clearRect(0, 0, this.globalWidth, this.globalHeight) this.computerContext.clearRect(0, 0, this.globalWidth, this.globalHeight);
this.renderContext.clearRect(0, 0, this.globalWidth, this.globalHeight) this.renderContext.clearRect(0, 0, this.globalWidth, this.globalHeight);
this.booms.forEach((boom, index) => { this.booms.forEach((boom, index) => {
if (boom.stop) { if (boom.stop) {
return this.booms.splice(index, 1) return this.booms.splice(index, 1);
}
boom.move()
boom.draw()
})
this.renderContext.drawImage(this.computerCanvas, 0, 0, this.globalWidth, this.globalHeight)
} }
boom.move();
boom.draw();
});
this.renderContext.drawImage(
this.computerCanvas,
0,
0,
this.globalWidth,
this.globalHeight
);
} }
}
const cursorSpecialEffects = new CursorSpecialEffects() const cursorSpecialEffects = new CursorSpecialEffects();
cursorSpecialEffects.init() cursorSpecialEffects.init();

File diff suppressed because one or more lines are too long

2
source/js/jquery-3.6.0.min.js vendored Normal file

File diff suppressed because one or more lines are too long