@ -14,7 +14,7 @@
|
||||
</a>
|
||||
<br>
|
||||
<a href="https://github.com/Shen-Yu/hexo-theme-ayer/releases" target="_blank" rel="noopener noreferrer">
|
||||
<img alt="GitHub release" src="https://img.shields.io/badge/release-v2.0-blue.svg">
|
||||
<img alt="GitHub release" src="https://img.shields.io/badge/release-v2.1-blue.svg">
|
||||
</a>
|
||||
<img alt="language" src="https://img.shields.io/badge/language-ejs--stylus-orange.svg">
|
||||
<a href="https://hexo.io/zh-cn/" target="_blank" rel="noopener noreferrer">
|
||||
@ -105,6 +105,8 @@ progressBar: true
|
||||
excerpt_link: Read More...
|
||||
excerpt_all: false
|
||||
|
||||
# Copy code button
|
||||
copy_btn: true
|
||||
# Share
|
||||
share_enable: true
|
||||
# If you are not in China, maybe you prefer to set:false
|
||||
|
60
_config.yml
@ -11,15 +11,15 @@ menu:
|
||||
# 站点次标题和打字动效
|
||||
# https://github.com/mattboldt/typed.js
|
||||
subtitle:
|
||||
enable: true # 是否开启动效
|
||||
text: 面朝大海,春暖花开 # 显示的文字
|
||||
text2: 愿你一生努力,一生被爱 # 滚动播放,如果不需要可以留空
|
||||
text3: 想要的都拥有,得不到的都释怀 # 最多支持三段文字
|
||||
startDelay: 0 # 延迟时间
|
||||
typeSpeed: 200 # 打字速度
|
||||
loop: true # 是否循环
|
||||
backSpeed: 100 # 回退速度
|
||||
showCursor: true # 是否显示光标
|
||||
enable: true # 是否开启动效
|
||||
text: 面朝大海,春暖花开 # 显示的文字
|
||||
text2: 愿你一生努力,一生被爱 # 滚动播放,如果不需要可以留空
|
||||
text3: 想要的都拥有,得不到的都释怀 # 最多支持三段文字
|
||||
startDelay: 0 # 延迟时间
|
||||
typeSpeed: 200 # 打字速度
|
||||
loop: true # 是否循环
|
||||
backSpeed: 100 # 回退速度
|
||||
showCursor: true # 是否显示光标
|
||||
|
||||
# 网站图标和侧边栏logo
|
||||
favicon: /favicon.ico
|
||||
@ -29,7 +29,7 @@ logo: /images/ayer-side.svg
|
||||
# enable-是否启用封面;path-封面背景图;logo-封面logo
|
||||
cover:
|
||||
enable: true
|
||||
path: /images/cover1.jpg # /source/images目录下附送多张美图,可更换
|
||||
path: /images/cover1.jpg # /source/images目录下附送多张美图,可更换
|
||||
logo: false #/images/ayer.svg,如果不要直接设置成false
|
||||
|
||||
# 页面顶部进度条
|
||||
@ -41,6 +41,8 @@ excerpt_link: 阅读更多...
|
||||
# 如果你嫌每篇文章手动加more标记比较麻烦,又不想在首页全文显示,可以把excerpt_all设置成true,这样首页只会显示文章归档
|
||||
excerpt_all: false
|
||||
|
||||
# 是否开启代码复制按钮
|
||||
copy_btn: true
|
||||
# 是否开启文章分享按钮
|
||||
share_enable: true
|
||||
# 国内的社交平台(If you are not in China, maybe you prefer to set:false)
|
||||
@ -73,11 +75,11 @@ word_count:
|
||||
# 打赏type设定:0-关闭打赏; 1-文章对应的md文件里有reward:true属性,才有打赏; 2-所有文章均有打赏
|
||||
reward_type: 2
|
||||
# 打赏wording
|
||||
reward_wording: '请我喝杯咖啡吧~'
|
||||
reward_wording: "请我喝杯咖啡吧~"
|
||||
# 支付宝二维码图片地址,跟你设置logo的方式一样。比如:/images/alipay.jpg
|
||||
alipay: /images/alipay.jpg
|
||||
alipay: https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/alipay.jpg
|
||||
# 微信二维码图片地址
|
||||
weixin: /images/wechat.jpg
|
||||
weixin: https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/wechat.jpg
|
||||
|
||||
# 版权声明
|
||||
# 版权声明type设定:0-关闭版权声明; 1-文章对应的md文件里有copyright: true属性,才有版权声明; 2-所有文章均有版权声明
|
||||
@ -101,14 +103,14 @@ layout:
|
||||
article_width: 80rem
|
||||
sidebar_width: 8rem
|
||||
|
||||
# 评论:1、Valine(推荐);2、Gitalk
|
||||
# 评论:1、Valine(推荐);2、Gitalk;3、MiniValine
|
||||
|
||||
# 1、Valine[一款快速、简洁且高效的无后端评论系统](https://github.com/xCss/Valine)
|
||||
# 启用Valine必须先创建leancloud应用, 获取 id|key 填入即可
|
||||
leancloud:
|
||||
enable: true
|
||||
app_id: #
|
||||
app_key: #
|
||||
app_id: # Your leancloud application appid
|
||||
app_key: # Your leancloud application appkey
|
||||
# Valine配置
|
||||
valine:
|
||||
enable: true # 是否启用
|
||||
@ -126,6 +128,20 @@ gitalk:
|
||||
owner: # GitHub ID
|
||||
admin: # GitHub ID
|
||||
|
||||
# 3、MiniValine
|
||||
# See: https://github.com/MiniValine/MiniValine
|
||||
minivaline:
|
||||
enable: false
|
||||
placeholder: Write a Comment # Comment box placeholder
|
||||
adminEmailMd5: # The MD5 of Admin Email to show Admin Flag.
|
||||
math: true # Support MathJax.
|
||||
md: true # Support Markdown.
|
||||
# MiniValine's display language depends on user's browser or system environment
|
||||
# If you want everyone visiting your site to see a uniform language, you can set a force language value
|
||||
# Available values: en | zh-CN | (and many more)
|
||||
# More i18n info: https://github.com/MiniValine/minivaline-i18n
|
||||
lang:
|
||||
|
||||
# GitHub Ribbons-封面右上角的forkme,换样式直接在source/images目录下替换forkme图片
|
||||
github:
|
||||
# (关闭请设置为false)
|
||||
@ -137,8 +153,8 @@ music:
|
||||
enable: false
|
||||
# 播放器尺寸类型(1:小尺寸、2:大尺寸)
|
||||
type: 1
|
||||
id: 22707008 # 网易云分享的音乐ID(更换音乐请更改此配置项)
|
||||
autoPlay: true # 是否开启自动播放
|
||||
id: 22707008 # 网易云分享的音乐ID(更换音乐请更改此配置项)
|
||||
autoPlay: true # 是否开启自动播放
|
||||
|
||||
# 访问量统计(不蒜子)
|
||||
busuanzi:
|
||||
@ -150,9 +166,9 @@ cnzz:
|
||||
url: https://s9.cnzz.com/z_stat.php?id=1278069914&web_id=1278069914
|
||||
|
||||
# Google Analytics
|
||||
google_analytics: ''
|
||||
google_analytics: ""
|
||||
# 百度统计
|
||||
baidu_analytics: ''
|
||||
baidu_analytics: ""
|
||||
|
||||
# Mathjax数学公式
|
||||
mathjax: false
|
||||
@ -172,5 +188,5 @@ pageFooter: true
|
||||
#ICP备案信息尾部显示
|
||||
icp:
|
||||
enable: false
|
||||
url: 'http://www.beian.miit.gov.cn/' # 备案链接
|
||||
text: '浙ICP备88888888' # 备案信息
|
||||
url: "http://www.beian.miit.gov.cn/" # 备案链接
|
||||
text: "浙ICP备88888888" # 备案信息
|
||||
|
@ -13,10 +13,13 @@ recent_posts: letzter Beitrag
|
||||
newer: Neuer
|
||||
older: Älter
|
||||
share: Teilen
|
||||
powered_by: Powered by
|
||||
powered_by: Powered by %s
|
||||
theme: Theme - %s
|
||||
rss_feed: RSS Feed
|
||||
category: Kategorie
|
||||
tag: Tag
|
||||
site_visitors: Visitors
|
||||
page_views: Views
|
||||
|
||||
post:
|
||||
word_count: Wortzahl
|
||||
|
@ -1 +1,31 @@
|
||||
en.yml
|
||||
categories: Categories
|
||||
search: Search
|
||||
tags: Tags
|
||||
tagcloud: Tag Cloud
|
||||
tweets: Tweets
|
||||
prev: Prev
|
||||
next: Next
|
||||
comment: Comments
|
||||
archive_a: Archives
|
||||
archive_b: "Archives: %s"
|
||||
page: Page %d
|
||||
recent_posts: Recent Posts
|
||||
newer: Newer
|
||||
older: Older
|
||||
share: Share
|
||||
powered_by: Powered by %s
|
||||
theme: Theme - %s
|
||||
rss_feed: RSS Feed
|
||||
category: Category
|
||||
tag: Tag
|
||||
site_visitors: Visitors
|
||||
page_views: Views
|
||||
|
||||
post:
|
||||
word_count: Word count
|
||||
read_time: Reading time
|
||||
minutes: min
|
||||
reward: Donate
|
||||
sticky: Sticky
|
||||
copyright_title: Copyright
|
||||
copyright_content: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
|
||||
|
@ -13,16 +13,19 @@ recent_posts: Recent Posts
|
||||
newer: Newer
|
||||
older: Older
|
||||
share: Share
|
||||
powered_by: Powered by
|
||||
powered_by: Powered by %s
|
||||
theme: Theme - %s
|
||||
rss_feed: RSS Feed
|
||||
category: Category
|
||||
tag: Tag
|
||||
site_visitors: Visitors
|
||||
page_views: Views
|
||||
|
||||
post:
|
||||
word_count: Word count
|
||||
read_time: Reading time
|
||||
minutes: min
|
||||
reward: Reward
|
||||
reward: Donate
|
||||
sticky: Sticky
|
||||
copyright_title: Copyright
|
||||
copyright_content: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
|
@ -13,10 +13,13 @@ recent_posts: Posts recientes
|
||||
newer: Nuevo
|
||||
older: Viejo
|
||||
share: Compartir
|
||||
powered_by: Construido por
|
||||
powered_by: Powered by %s
|
||||
theme: Theme - %s
|
||||
rss_feed: RSS
|
||||
category: Categoría
|
||||
tag: Tag
|
||||
site_visitors: Visitors
|
||||
page_views: Views
|
||||
|
||||
post:
|
||||
word_count: El recuento de palabras
|
||||
|
@ -13,10 +13,13 @@ recent_posts: Articles récents
|
||||
newer: Récent
|
||||
older: Ancien
|
||||
share: Partager
|
||||
powered_by: Propulsé par
|
||||
powered_by: Powered by %s
|
||||
theme: Theme - %s
|
||||
rss_feed: Flux RSS
|
||||
category: Catégorie
|
||||
tag: Mot-clé
|
||||
site_visitors: Visitors
|
||||
page_views: Views
|
||||
|
||||
post:
|
||||
word_count: Nombre de mots
|
||||
|
@ -13,10 +13,13 @@ recent_posts: 最近の投稿
|
||||
newer: 次の記事
|
||||
older: 前の記事
|
||||
share: 共有
|
||||
powered_by: Powered by
|
||||
powered_by: Powered by %s
|
||||
theme: Theme - %s
|
||||
rss_feed: RSSフィード
|
||||
category: カテゴリ
|
||||
tag: タグ
|
||||
site_visitors: Visitors
|
||||
page_views: Views
|
||||
|
||||
post:
|
||||
word_count: 単語数
|
||||
|
@ -13,10 +13,13 @@ recent_posts: 최근 포스트
|
||||
newer: 최신
|
||||
older: 이전
|
||||
share: 공유
|
||||
powered_by: Powered by
|
||||
powered_by: Powered by %s
|
||||
theme: Theme - %s
|
||||
rss_feed: RSS Feed
|
||||
category: 카테고리
|
||||
tag: 태그
|
||||
site_visitors: Visitors
|
||||
page_views: Views
|
||||
|
||||
post:
|
||||
word_count: 단어 수
|
||||
|
@ -13,10 +13,13 @@ recent_posts: Recente berichten
|
||||
newer: Nieuwer
|
||||
older: Ouder
|
||||
share: Delen
|
||||
powered_by: Powered by
|
||||
powered_by: Powered by %s
|
||||
theme: Theme - %s
|
||||
rss_feed: RSS Feed
|
||||
category: Categorie
|
||||
tag: Label
|
||||
site_visitors: Visitors
|
||||
page_views: Views
|
||||
|
||||
post:
|
||||
word_count: Aantal woorden in artikel
|
||||
|
@ -13,10 +13,13 @@ recent_posts: Siste innlegg
|
||||
newer: Newer
|
||||
older: Older
|
||||
share: Share
|
||||
powered_by: Powered by
|
||||
powered_by: Powered by %s
|
||||
theme: Theme - %s
|
||||
rss_feed: RSS Feed
|
||||
category: Category
|
||||
tag: Tag
|
||||
site_visitors: Visitors
|
||||
page_views: Views
|
||||
|
||||
post:
|
||||
word_count: Ordtelling
|
||||
|
@ -13,10 +13,13 @@ recent_posts: Postagens Recentes
|
||||
newer: Mais Recente
|
||||
older: Mais Antigo
|
||||
share: Compartilhar
|
||||
powered_by: Desenvolvido por
|
||||
powered_by: Powered by %s
|
||||
theme: Theme - %s
|
||||
rss_feed: Feed RSS
|
||||
category: Categoria
|
||||
tag: Tag
|
||||
site_visitors: Visitors
|
||||
page_views: Views
|
||||
|
||||
post:
|
||||
word_count: Word count
|
||||
|
@ -13,10 +13,13 @@ recent_posts: Недавние записи
|
||||
newer: Следующий
|
||||
older: Предыдущий
|
||||
share: Поделиться
|
||||
powered_by: Создано с помощью
|
||||
powered_by: Powered by %s
|
||||
theme: Theme - %s
|
||||
rss_feed: RSS-каналы
|
||||
category: Категория
|
||||
tag: Метка
|
||||
site_visitors: Visitors
|
||||
page_views: Views
|
||||
|
||||
post:
|
||||
word_count: Количество слов
|
||||
|
@ -13,10 +13,13 @@ recent_posts: Bài viết gần đây
|
||||
newer: mới hơn
|
||||
older: lớn hơn
|
||||
share: chia sẻ
|
||||
powered_by: Powered by
|
||||
powered_by: Powered by %s
|
||||
theme: Theme - %s
|
||||
rss_feed: RSS Feed
|
||||
category: Thể loại
|
||||
tag: thẻ
|
||||
site_visitors: Visitors
|
||||
page_views: Views
|
||||
|
||||
post:
|
||||
word_count: Đếm từ
|
||||
|
@ -13,10 +13,13 @@ recent_posts: 最新文章
|
||||
newer: Newer
|
||||
older: Older
|
||||
share: 分享
|
||||
powered_by: Powered by
|
||||
powered_by: 由 %s 强力驱动
|
||||
theme: 主题 - %s
|
||||
rss_feed: RSS Feed
|
||||
category: Category
|
||||
tag: Tag
|
||||
site_visitors: 访问人数
|
||||
page_views: 浏览次数
|
||||
|
||||
post:
|
||||
word_count: 字数统计
|
||||
|
@ -13,10 +13,13 @@ recent_posts: 最新文章
|
||||
newer: Newer
|
||||
older: Older
|
||||
share: Share
|
||||
powered_by: Powered by
|
||||
powered_by: Powered by %s
|
||||
theme: Theme - %s
|
||||
rss_feed: RSS Feed
|
||||
category: Category
|
||||
tag: Tag
|
||||
site_visitors: Visitors
|
||||
page_views: Views
|
||||
|
||||
post:
|
||||
word_count: 字數統計
|
||||
|
@ -63,3 +63,9 @@
|
||||
<% if (theme.clickLove){ %>
|
||||
<%- js('/js/clickLove') %>
|
||||
<% } %>
|
||||
|
||||
<!-- 复制 -->
|
||||
<% if (theme.copy_btn == true) { %>
|
||||
<%- css('/css/clipboard') %>
|
||||
<%- partial('post/clipboard') %>
|
||||
<% } %>
|
||||
|
@ -82,4 +82,8 @@
|
||||
<%- partial('post/gitalk') %>
|
||||
<% } %>
|
||||
|
||||
<% if (theme.minivaline && theme.minivaline.enable && !post.no_minivaline){ %>
|
||||
<%- partial('post/minivaline') %>
|
||||
<% } %>
|
||||
|
||||
</article>
|
@ -1,32 +1,39 @@
|
||||
<footer class="footer">
|
||||
<div class="outer">
|
||||
<ul class="list-inline">
|
||||
<ul>
|
||||
<li>
|
||||
©
|
||||
Copyrights ©
|
||||
<% if (theme.since && !isNaN(theme.since) && theme.since < date(new Date(), 'YYYY')) { %><%- theme.since%>-<% } %><%= date(new Date(), 'YYYY') %>
|
||||
<%= config.author || config.title %>
|
||||
<i class="ri-heart-fill heart_icon"></i> <%= config.author || config.title %>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<% if (theme.pageFooter){ %>
|
||||
Powered by
|
||||
<% var hexoLink = '<a href="https://hexo.io" target="_blank">Hexo</a>'; %>
|
||||
<% var themeLink = '<a href="https://github.com/Shen-Yu/hexo-theme-ayer" target="_blank">Ayer</a>'; %>
|
||||
<%- hexoLink %> Theme <%- themeLink %>
|
||||
<%- __('powered_by', hexoLink) %>
|
||||
<span class="division">|</span>
|
||||
<%- __('theme', themeLink) %>
|
||||
<% } %>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="list-inline">
|
||||
<ul>
|
||||
<li>
|
||||
<% if (theme.busuanzi && theme.busuanzi.enable){ %>
|
||||
<%# "不蒜子统计" %>
|
||||
<%- partial('post/busuanzi') %>
|
||||
<% } %>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<% if (theme.icp&&theme.icp.enable){ %>
|
||||
<li>
|
||||
<a href="<%= theme.icp.url %>" target="_black"><%= theme.icp.text %></a>
|
||||
</li>
|
||||
<% } %>
|
||||
<li>
|
||||
<a href="<%= theme.icp.url %>" target="_black"><%= theme.icp.text %></a>
|
||||
</li>
|
||||
<% } %>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<!-- cnzz统计 -->
|
||||
<% if (theme.cnzz&&theme.cnzz.enable){ %>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<% if (config.language){ %>
|
||||
<html lang="<%= config.language %>" >
|
||||
<html lang="<%= config.language %>">
|
||||
<% } else { %>
|
||||
<html lang="en">
|
||||
<% }%>
|
||||
@ -29,9 +29,10 @@
|
||||
<link rel="shortcut icon" href="<%- theme.favicon %>" />
|
||||
<% } %>
|
||||
<%- css('dist/main') %>
|
||||
<%- css('https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/css/remixicon.min') %>
|
||||
<%- css('css/custom') %>
|
||||
<% if (theme.progressBar){ %>
|
||||
<script src="https://cdn.jsdelivr.net/npm/pace-js@1.0.2/pace.min.js"></script>
|
||||
<%- js('https://cdn.jsdelivr.net/npm/pace-js@1.0.2/pace.min') %>
|
||||
<% } %>
|
||||
<%- partial('google-analytics') %>
|
||||
<%- partial('baidu-analytics') %>
|
||||
|
@ -1,4 +1,5 @@
|
||||
<span>
|
||||
<i>PV:<span id="busuanzi_value_page_pv"></span></i>
|
||||
<i>UV:<span id="busuanzi_value_site_uv"></span></i>
|
||||
<span><i class="ri-user-3-fill"></i><%- __('site_visitors') %>:<span id="busuanzi_value_site_uv"></span></s>
|
||||
<span class="division">|</span>
|
||||
<span><i class="ri-eye-fill"></i><%- __('page_views') %>:<span id="busuanzi_value_page_pv"></span></span>
|
||||
</span>
|
54
layout/_partial/post/clipboard.ejs
Normal file
@ -0,0 +1,54 @@
|
||||
<script src="https://cdn.jsdelivr.net/npm/clipboard@2/dist/clipboard.min.js"></script>
|
||||
<script>
|
||||
function wait(callback, seconds) {
|
||||
var timelag = null;
|
||||
timelag = window.setTimeout(callback, seconds);
|
||||
}
|
||||
!function (e, t, a) {
|
||||
var initCopyCode = function(){
|
||||
var copyHtml = '';
|
||||
copyHtml += '<button class="btn-copy" data-clipboard-snippet="">';
|
||||
copyHtml += '<i class="ri-file-copy-2-line"></i><span>COPY</span>';
|
||||
copyHtml += '</button>';
|
||||
$(".highlight .code pre").before(copyHtml);
|
||||
$(".article pre code").before(copyHtml);
|
||||
var clipboard = new ClipboardJS('.btn-copy', {
|
||||
target: function(trigger) {
|
||||
return trigger.nextElementSibling;
|
||||
}
|
||||
});
|
||||
clipboard.on('success', function(e) {
|
||||
let $btn = $(e.trigger);
|
||||
$btn.addClass('copied');
|
||||
let $icon = $($btn.find('i'));
|
||||
$icon.removeClass('ri-file-copy-2-line');
|
||||
$icon.addClass('ri-checkbox-circle-line');
|
||||
let $span = $($btn.find('span'));
|
||||
$span[0].innerText = 'COPIED';
|
||||
|
||||
wait(function () { // 等待两秒钟后恢复
|
||||
$icon.removeClass('ri-checkbox-circle-line');
|
||||
$icon.addClass('ri-file-copy-2-line');
|
||||
$span[0].innerText = 'COPY';
|
||||
}, 2000);
|
||||
});
|
||||
clipboard.on('error', function(e) {
|
||||
e.clearSelection();
|
||||
let $btn = $(e.trigger);
|
||||
$btn.addClass('copy-failed');
|
||||
let $icon = $($btn.find('i'));
|
||||
$icon.removeClass('ri-file-copy-2-line');
|
||||
$icon.addClass('ri-time-line');
|
||||
let $span = $($btn.find('span'));
|
||||
$span[0].innerText = 'COPY FAILED';
|
||||
|
||||
wait(function () { // 等待两秒钟后恢复
|
||||
$icon.removeClass('ri-time-line');
|
||||
$icon.addClass('ri-file-copy-2-line');
|
||||
$span[0].innerText = 'COPY';
|
||||
}, 2000);
|
||||
});
|
||||
}
|
||||
initCopyCode();
|
||||
}(window, document);
|
||||
</script>
|
49
layout/_partial/post/minivaline.ejs
Normal file
@ -0,0 +1,49 @@
|
||||
<% if (!index && theme.leancloud && theme.leancloud.enable){ %>
|
||||
<!-- minivaline评论 -->
|
||||
<div id="mvcomments-box">
|
||||
<div id="mvcomments">
|
||||
</div>
|
||||
</div>
|
||||
<script src='https://cdn.jsdelivr.net/npm/minivaline/dist/MiniValine.min.js'></script>
|
||||
<script>
|
||||
new MiniValine({
|
||||
el: '#mvcomments',
|
||||
appId: '<%- theme.leancloud.app_id %>',
|
||||
appKey: '<%- theme.leancloud.app_key %>',
|
||||
placeholder: '<%- theme.minivaline.placeholder %>',
|
||||
lang: '<%- theme.minivaline.lang %>',
|
||||
adminEmailMd5: '<%- theme.minivaline.adminEmailMd5 %>',
|
||||
math: <%- theme.minivaline.math %>,
|
||||
md: <%- theme.minivaline.md %>
|
||||
});
|
||||
const infoEle = document.querySelector('#mvcomments .info');
|
||||
if (infoEle && infoEle.childNodes && infoEle.childNodes.length > 0) {
|
||||
infoEle.childNodes.forEach(function (item) {
|
||||
item.parentNode.removeChild(item);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
#mvcomments-box {
|
||||
padding: 5px 30px;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 800px) {
|
||||
#mvcomments-box {
|
||||
padding: 5px 0px;
|
||||
}
|
||||
}
|
||||
|
||||
#mvcomments-box #mvcomments {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.v .vlist .vcard .vh {
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
.v .vlist .vcard {
|
||||
padding-left: 10px;
|
||||
}
|
||||
</style>
|
||||
<% } %>
|
BIN
logo.png
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 1.7 KiB |
@ -4,7 +4,7 @@
|
||||
"description": "a clean and elegant theme for hexo.",
|
||||
"scripts": {
|
||||
"dev": "parcel serve source-src/main.js -d source/dist",
|
||||
"build": "parcel build source-src/main.js -d source/dist --no-source-maps"
|
||||
"build": "rimraf source/dist && parcel build source-src/main.js -d source/dist --no-source-maps"
|
||||
},
|
||||
"source": "source-src/main.js",
|
||||
"repository": {
|
||||
|
Before Width: | Height: | Size: 241 KiB After Width: | Height: | Size: 232 KiB |
@ -9,7 +9,7 @@ function hexoMetaGeneratorInject(data) {
|
||||
return;
|
||||
}
|
||||
|
||||
const hexoGeneratorTag = `\n <meta name="generator" content="hexo-theme-yilia-plus">`;
|
||||
const hexoGeneratorTag = `\n <meta name="generator" content="hexo-theme-ayer">`;
|
||||
|
||||
return data.replace('</title>', '</title>' + hexoGeneratorTag);
|
||||
}
|
||||
|
33
source-src/css/_darkmode.styl
Normal file
@ -0,0 +1,33 @@
|
||||
darkmode()
|
||||
background: rgba(0,0,0,.6)
|
||||
*
|
||||
color: #f2f2f2
|
||||
.article-entry code
|
||||
background: darken(#ddd,10%) !important
|
||||
color: #c7254e !important
|
||||
.article-header .article-title,.share-outer i,.category-list .category-list-item i,.category-list a:hover .category-list-item,.article-date, .article-category .article-category-link, .archive-year-wrap .archive-year, .archive-article-date,a.toc-link,.tag-list > .tag-list-item:before,.article-tag-list:before
|
||||
color: darken(#fff,10%) !important
|
||||
.share-icons a i,.float_btns i,#reward .reward-p,#reward .reward-p i,.local-search-input
|
||||
color: darken(#999,20%) !important
|
||||
.is-position-fixed
|
||||
background-color transparent
|
||||
.v *
|
||||
color: #555 !important
|
||||
.tag-list > .tag-list-item .tag-list-link,.article-tag-list .article-tag-list-link
|
||||
background: darken(#fff,10%) !important
|
||||
color: #555 !important
|
||||
#vcomments-box #vcomments
|
||||
background-color rgba(255,255,255,.1) !important
|
||||
*
|
||||
color #f1f1f1 !important
|
||||
.v .vbtn
|
||||
background-color: transparent !important
|
||||
.v .vlist .vcard .vhead .vsys
|
||||
border: 1px solid #f1f1f1 !important
|
||||
background-color: transparent !important
|
||||
input::-webkit-input-placeholder
|
||||
color: #ccc;
|
||||
input::-moz-input-placeholder
|
||||
color: #ccc;
|
||||
input::-ms-input-placeholder
|
||||
color: #ccc;
|
@ -28,8 +28,17 @@ body
|
||||
*/
|
||||
|
||||
h1
|
||||
font-size 2em
|
||||
margin 0.67em 0
|
||||
font-size 30px
|
||||
h2
|
||||
font-size 28px
|
||||
h3
|
||||
font-size 26px
|
||||
h4
|
||||
font-size 24px
|
||||
h5
|
||||
font-size 21px
|
||||
h6
|
||||
font-size 18px
|
||||
|
||||
/* Grouping content
|
||||
========================================================================== */
|
||||
|
@ -1,19 +1,50 @@
|
||||
@keyframes footerHeartBeat
|
||||
0%
|
||||
transform: scale(1)
|
||||
50%
|
||||
transform: scale(1.2)
|
||||
100%
|
||||
transform: scale(1)
|
||||
|
||||
.footer
|
||||
border-top 2px solid #f6f6f6
|
||||
padding 3rem 0
|
||||
font-size 115%
|
||||
.outer
|
||||
&>ul
|
||||
position relative
|
||||
display flex
|
||||
justify-content space-between
|
||||
&:first-child
|
||||
border-bottom border-width solid #f1f1f1
|
||||
|
||||
justify-content center
|
||||
li
|
||||
display inline-block
|
||||
padding .5rem 0
|
||||
padding .3rem 0
|
||||
a
|
||||
text-decoration none
|
||||
.division
|
||||
display inline
|
||||
margin 0 5px
|
||||
i
|
||||
margin 0 2px
|
||||
font-style normal
|
||||
transform translateY(2px)
|
||||
span
|
||||
margin-right 6px
|
||||
|
||||
.heart_icon
|
||||
display: inline-block;
|
||||
margin: 0 0.4rem;
|
||||
font-size: 1em;
|
||||
color: #f00;
|
||||
-webkit-animation: footerHeartBeat 1.2s infinite;
|
||||
-moz-animation: footerHeartBeat 1.2s infinite;
|
||||
-o-animation: footerHeartBeat 1.2s infinite;
|
||||
-ms-animation: footerHeartBeat 1.2s infinite;
|
||||
animation: footerHeartBeat 1.2s infinite;
|
||||
animation-duration: 1.2s;
|
||||
animation-timing-function: ease;
|
||||
animation-delay: 0s;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: normal;
|
||||
animation-fill-mode: none;
|
||||
animation-play-state: running;
|
||||
animation-name: footerHeartBeat;
|
@ -39,6 +39,7 @@ a.toc-link
|
||||
top 0
|
||||
right 6rem
|
||||
background-color #fff
|
||||
z-index 996
|
||||
|
||||
// Left line before pseudo element.
|
||||
.toc-link::before
|
||||
|
@ -2,6 +2,7 @@
|
||||
@import "_mixins"
|
||||
@import "_remixicon"
|
||||
@import "_normalize"
|
||||
@import "_darkmode"
|
||||
|
||||
*,
|
||||
*::before
|
||||
@ -28,23 +29,10 @@ body
|
||||
padding 0
|
||||
margin 0
|
||||
overflow-x hidden
|
||||
text-size-adjust: 100%
|
||||
text-size-adjust 100%
|
||||
// Dark Mode
|
||||
&.darkmode
|
||||
background: rgba(0,0,0,.6)
|
||||
*
|
||||
color: darken(#fff,10%)
|
||||
.article-entry code
|
||||
background: darken(#ddd,10%) !important
|
||||
color: #c7254e !important
|
||||
.article-header .article-title,.share-outer i,.category-list .category-list-item i,.category-list a:hover .category-list-item,.article-date, .article-category .article-category-link, .archive-year-wrap .archive-year, .archive-article-date,a.toc-link,.tag-list > .tag-list-item:before,.article-tag-list:before
|
||||
color: darken(#fff,10%) !important
|
||||
.share-icons a i,.float_btns i,#reward .reward-p,#reward .reward-p i,.local-search-input
|
||||
color: darken(#999,20%) !important
|
||||
.v *
|
||||
color: #555 !important
|
||||
.tag-list > .tag-list-item .tag-list-link,.article-tag-list .article-tag-list-link
|
||||
background: darken(#fff,10%) !important
|
||||
color: #555 !important
|
||||
darkmode()
|
||||
|
||||
a
|
||||
color link-color
|
||||
|
102
source/404.html
@ -1,48 +1,68 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>404</title>
|
||||
<meta name="keywords" content="Hexo,404,Design">
|
||||
<meta name="description" content="Tribute Forrest Gump">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
||||
<style>
|
||||
html,figure {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
body{
|
||||
margin: 20px;
|
||||
overflow: hidden;
|
||||
}
|
||||
h1,h3{
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
.forrestgump img{
|
||||
width: 50rem;
|
||||
margin-left: 50%;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
@media screen and (max-width: 768px){
|
||||
.forrestgump img{
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
<meta charset="UTF-8">
|
||||
<title>404</title>
|
||||
<meta name="keywords" content="Hexo,Ayer,404,Design">
|
||||
<meta name="description" content="hexo theme ayer page 404.">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
||||
<style>
|
||||
html,
|
||||
figure {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 20px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
h1,
|
||||
h3 {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
color: #403e3e;
|
||||
}
|
||||
|
||||
h3 a {
|
||||
color: #0681d0;
|
||||
}
|
||||
|
||||
.forrestgump img {
|
||||
width: 52rem;
|
||||
margin-left: 50%;
|
||||
transform: translateX(-50%);
|
||||
border-radius: 5%;
|
||||
opacity: .8;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
.forrestgump img {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="notfound">
|
||||
<a class="notfound-link" href="/">
|
||||
<img width="30" src="data:image/svg+xml;base64,PHN2ZyB0PSIxNTYyODQyNjI3NDA5IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcC1pZD0iNTIxNDgiIHdpZHRoPSI4MDAiIGhlaWdodD0iODAwIj48cGF0aCBkPSJNMTk0LjYgNDc5LjFoNzQ5LjF2NTcuNkgxODYuNEw1MjggODc4LjMgNDg3LjMgOTE5IDEyMSA1NTIuNyA4MC4zIDUxMmw0MDctNDA3IDQwLjcgNDAuN3oiIGZpbGw9IiIgcC1pZD0iNTIxNDkiLz48L3N2Zz4=">
|
||||
</a>
|
||||
<figure class="forrestgump">
|
||||
<figcaption>
|
||||
<h1 style="color: #6b0b0c;">404<br>Not Found!</h1>
|
||||
<h3 style="color: #14206a;">Life was like a journey on the sea, you never know what you're going to get.</h3>
|
||||
</figcaption>
|
||||
<img src="/images/404.jpg">
|
||||
</figure>
|
||||
</div>
|
||||
<div class="notfound">
|
||||
<a class="notfound-link" href="/">
|
||||
<img width="40"
|
||||
src="data:image/png;base64,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">
|
||||
</a>
|
||||
<figure class="forrestgump">
|
||||
<figcaption>
|
||||
<h1>404<br>Not Found!</h1>
|
||||
<h3>Life was like a journey on the sea, you never know what you're going to get.</h3>
|
||||
<h3>亲,获取不到该路径的页面呢,请检查一下哦,可能你还需要仔细阅读 <a href="https://hexo.io/docs/">Hexo</a> 和 <a
|
||||
href="https://github.com/Shen-Yu/hexo-theme-ayer">Ayer</a> 的说明文档~</h3>
|
||||
</figcaption>
|
||||
<img src="https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/404.jpg">
|
||||
</figure>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
35
source/css/clipboard.styl
Normal file
@ -0,0 +1,35 @@
|
||||
// 代码块复制按钮
|
||||
if hexo-config('copy_btn') == true
|
||||
.highlight
|
||||
position: relative
|
||||
|
||||
.btn-copy
|
||||
z-index: 1
|
||||
display: inline-block
|
||||
cursor: pointer
|
||||
border: none
|
||||
disable-user-select()
|
||||
-webkit-appearance: none
|
||||
font-size: 12px
|
||||
font-weight: bold
|
||||
padding: 3px 6px
|
||||
>i
|
||||
margin-right: 4px
|
||||
font-size: 10px
|
||||
transform: translateY(1px);
|
||||
color: #333
|
||||
background: rgba(255,255,255,.8)
|
||||
border-radius: 2px
|
||||
position: absolute
|
||||
top: 0
|
||||
right: 0
|
||||
opacity: 0
|
||||
transition: all linear .2s
|
||||
&:hover
|
||||
background: rgba(255,255,255,.7)
|
||||
|
||||
.highlight:hover .btn-copy
|
||||
opacity: 1
|
||||
|
||||
.article pre:hover .btn-copy
|
||||
opacity: 1
|
2
source/dist/main.css
vendored
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 141 KiB After Width: | Height: | Size: 134 KiB |
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.1 KiB |
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 36 KiB |