hexo-theme-ayeria 1.9.7-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/LICENSE +38 -0
  2. package/README.md +553 -0
  3. package/_config.yml +271 -0
  4. package/_scaffolds/post.md +8 -0
  5. package/index.js +2 -0
  6. package/languages/de.yml +39 -0
  7. package/languages/default.yml +39 -0
  8. package/languages/en.yml +39 -0
  9. package/languages/es.yml +39 -0
  10. package/languages/fr.yml +39 -0
  11. package/languages/ja.yml +39 -0
  12. package/languages/ko.yml +39 -0
  13. package/languages/nl.yml +39 -0
  14. package/languages/no.yml +39 -0
  15. package/languages/pt.yml +39 -0
  16. package/languages/ru.yml +39 -0
  17. package/languages/vi.yml +39 -0
  18. package/languages/zh-CN.yml +39 -0
  19. package/languages/zh-TW.yml +39 -0
  20. package/layout/_partial/ads.ejs +9 -0
  21. package/layout/_partial/after-footer.ejs +84 -0
  22. package/layout/_partial/archive-post.ejs +14 -0
  23. package/layout/_partial/archive.ejs +62 -0
  24. package/layout/_partial/article.ejs +94 -0
  25. package/layout/_partial/ayeria.ejs +53 -0
  26. package/layout/_partial/baidu-analytics.ejs +11 -0
  27. package/layout/_partial/broadcast.ejs +20 -0
  28. package/layout/_partial/float-btns.ejs +8 -0
  29. package/layout/_partial/footer.ejs +62 -0
  30. package/layout/_partial/google-analytics.ejs +10 -0
  31. package/layout/_partial/head.ejs +67 -0
  32. package/layout/_partial/katex.ejs +22 -0
  33. package/layout/_partial/lock.ejs +37 -0
  34. package/layout/_partial/mathjax.ejs +19 -0
  35. package/layout/_partial/modal.ejs +77 -0
  36. package/layout/_partial/music.ejs +16 -0
  37. package/layout/_partial/post/albums.ejs +17 -0
  38. package/layout/_partial/post/author.ejs +8 -0
  39. package/layout/_partial/post/busuanzi.ejs +5 -0
  40. package/layout/_partial/post/category.ejs +10 -0
  41. package/layout/_partial/post/clipboard.ejs +54 -0
  42. package/layout/_partial/post/date.ejs +3 -0
  43. package/layout/_partial/post/gallery.ejs +15 -0
  44. package/layout/_partial/post/giscus.ejs +40 -0
  45. package/layout/_partial/post/gitalk.ejs +12 -0
  46. package/layout/_partial/post/justifiedGallery.ejs +9 -0
  47. package/layout/_partial/post/nav.ejs +22 -0
  48. package/layout/_partial/post/search.ejs +4 -0
  49. package/layout/_partial/post/share.ejs +51 -0
  50. package/layout/_partial/post/tag.ejs +6 -0
  51. package/layout/_partial/post/title.ejs +16 -0
  52. package/layout/_partial/post/tocbot.ejs +6 -0
  53. package/layout/_partial/post/topping.ejs +3 -0
  54. package/layout/_partial/post/twikoo.ejs +7 -0
  55. package/layout/_partial/post/valine.ejs +48 -0
  56. package/layout/_partial/post/word.ejs +20 -0
  57. package/layout/_partial/sidebar.ejs +34 -0
  58. package/layout/_partial/viewer.ejs +106 -0
  59. package/layout/archive.ejs +1 -0
  60. package/layout/categories.ejs +8 -0
  61. package/layout/friends.ejs +20 -0
  62. package/layout/index.ejs +4 -0
  63. package/layout/layout.ejs +31 -0
  64. package/layout/page.ejs +3 -0
  65. package/layout/plain-page.ejs +4 -0
  66. package/layout/post.ejs +3 -0
  67. package/layout/tags.ejs +88 -0
  68. package/logo.png +0 -0
  69. package/package.json +38 -0
  70. package/scripts/default_config.js +6 -0
  71. package/scripts/events/index.js +11 -0
  72. package/scripts/events/lib/hello.js +45 -0
  73. package/scripts/events/lib/merge-configs.js +28 -0
  74. package/scripts/filters/index.js +13 -0
  75. package/scripts/filters/meta_generator.js +17 -0
  76. package/scripts/helpers/ayeria-plus-vendors.js +9 -0
  77. package/scripts/helpers/category-tree.js +90 -0
  78. package/scripts/helpers/wordcount.js +39 -0
  79. package/scripts/lib/core.js +25 -0
  80. package/scripts/utils/join-path.js +12 -0
  81. package/scripts/utils/object.js +31 -0
  82. package/source/404.html +187 -0
  83. package/source/css/clipboard.styl +37 -0
  84. package/source/css/custom.styl +971 -0
  85. package/source/css/fonts/remixicon.css +1816 -0
  86. package/source/css/fonts/remixicon.eot +0 -0
  87. package/source/css/fonts/remixicon.svg +5329 -0
  88. package/source/css/fonts/remixicon.ttf +0 -0
  89. package/source/css/fonts/remixicon.woff +0 -0
  90. package/source/css/fonts/remixicon.woff2 +0 -0
  91. package/source/data/random-sentences.txt +136 -0
  92. package/source/dist/main.css +1 -0
  93. package/source/dist/main.js +1 -0
  94. package/source/favicon.svg +1 -0
  95. package/source/images/ayeria-side.svg +1 -0
  96. package/source/images/ayeria.png +0 -0
  97. package/source/images/ayeria.svg +1 -0
  98. package/source/images/beian.png +0 -0
  99. package/source/images/cover1.jpg +0 -0
  100. package/source/images/cover2.webp +0 -0
  101. package/source/images/cover3.jpg +0 -0
  102. package/source/images/cover4.jpg +0 -0
  103. package/source/images/cover5.jpg +0 -0
  104. package/source/images/cover6.jpg +0 -0
  105. package/source/images/forkme.png +0 -0
  106. package/source/images/gitee.png +0 -0
  107. package/source/images/github.png +0 -0
  108. package/source/images/hexo-tag-chart.png +0 -0
  109. package/source/images/hexo.png +0 -0
  110. package/source/images/mouse.cur +0 -0
  111. package/source/js/busuanzi-2.3.pure.min.js +1 -0
  112. package/source/js/clickBoom1.js +152 -0
  113. package/source/js/clickBoom2.js +180 -0
  114. package/source/js/clickLove.js +1 -0
  115. package/source/js/dz.js +1 -0
  116. package/source/js/jquery-3.6.0.min.js +2 -0
  117. package/source/js/lazyload.min.js +8 -0
  118. package/source/js/random-sentences.js +166 -0
  119. package/source/js/search.js +127 -0
  120. package/source/js/tocbot.min.js +1 -0
@@ -0,0 +1,39 @@
1
+ categories: Категории
2
+ search: Поиск
3
+ tags: Метки
4
+ tagcloud: Облако меток
5
+ tweets: Твиты
6
+ prev: Назад
7
+ next: Вперед
8
+ comment: Комментарии
9
+ archive_a: Архив
10
+ archive_b: "Архив: %s"
11
+ page: Страница %d
12
+ recent_posts: Недавние записи
13
+ newer: Следующий
14
+ older: Предыдущий
15
+ share: Поделиться
16
+ powered_by: Powered by %s
17
+ theme: Theme - %s
18
+ rss_feed: RSS-каналы
19
+ category: Категория
20
+ tag: Метка
21
+ site_visitors: Visitors
22
+ page_views: Views
23
+ friends: друзья
24
+ posts_count: "%d записей"
25
+
26
+ post:
27
+ word_count: Количество слов
28
+ read_time: Время чтения
29
+ minutes: минут
30
+ reward: вознаграждение
31
+ sticky: липкий
32
+ copyright_title: Авторские права
33
+ copyright_content: Авторские права принадлежат автору. Для коммерческих перепечаток, пожалуйста, свяжитесь с автором для авторизации. Для некоммерческих перепечаток, пожалуйста, укажите источник.
34
+
35
+ lock:
36
+ lock_info: Please enter password
37
+ lock_error: Incorrect password, please try again
38
+ confirm_text: Ok
39
+ cancel_text: Cancel
@@ -0,0 +1,39 @@
1
+ categories: Thể loại
2
+ search: Tìm Kiếm
3
+ tags: thẻ
4
+ tagcloud: thẻ đám mây
5
+ tweets: Tweets
6
+ prev: trước
7
+ next: kế tiếp
8
+ comment: bình luận
9
+ archive_a: Archives
10
+ archive_b: "Archives: %s"
11
+ page: Page %d
12
+ recent_posts: Bài viết gần đây
13
+ newer: mới hơn
14
+ older: lớn hơn
15
+ share: chia sẻ
16
+ powered_by: Powered by %s
17
+ theme: Theme - %s
18
+ rss_feed: RSS Feed
19
+ category: Thể loại
20
+ tag: thẻ
21
+ site_visitors: Visitors
22
+ page_views: Views
23
+ friends: Bạn
24
+ posts_count: "%d bài viết"
25
+
26
+ post:
27
+ word_count: Đếm từ
28
+ read_time: Thời gian đọc
29
+ minutes: min
30
+ reward: tặng
31
+ sticky: dính
32
+ copyright_title: Bản quyền
33
+ copyright_content: Bản quyền thuộc sở hữu của tác giả. Đối với tái bản thương mại, xin vui lòng liên hệ với tác giả cho phép. Đối với tái bản phi thương mại, xin vui lòng cho biết nguồn.
34
+
35
+ lock:
36
+ lock_info: Please enter password
37
+ lock_error: Incorrect password, please try again
38
+ confirm_text: Ok
39
+ cancel_text: Cancel
@@ -0,0 +1,39 @@
1
+ categories: 分类
2
+ search: 搜索
3
+ tags: 标签
4
+ tagcloud: 标签云
5
+ tweets: 推文
6
+ prev: 上一页
7
+ next: 下一页
8
+ comment: 留言
9
+ archive_a: 归档
10
+ archive_b: 归档:%s
11
+ page: 第 %d 页
12
+ recent_posts: 最新文章
13
+ newer: Newer
14
+ older: Older
15
+ share: 分享
16
+ powered_by: 由 %s 强力驱动
17
+ theme: 主题 - %s
18
+ rss_feed: RSS Feed
19
+ category: Category
20
+ tag: Tag
21
+ site_visitors: 访问人数
22
+ page_views: 浏览次数
23
+ friends: 友情链接
24
+ posts_count: "%d 篇文章"
25
+
26
+ post:
27
+ word_count: 字数统计
28
+ read_time: 阅读时长
29
+ minutes: 分钟
30
+ reward: 打赏
31
+ sticky: 置顶
32
+ copyright_title: 版权声明
33
+ copyright_content: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
34
+
35
+ lock:
36
+ lock_info: 请输入访问密码
37
+ lock_error: 密码错误,请重试
38
+ confirm_text: 确定
39
+ cancel_text: 取消
@@ -0,0 +1,39 @@
1
+ categories: 分類
2
+ search: 搜尋
3
+ tags: 標籤
4
+ tagcloud: 標籤雲
5
+ tweets: 推文
6
+ prev: 上一頁
7
+ next: 下一頁
8
+ comment: 留言
9
+ archive_a: 彙整
10
+ archive_b: 彙整:%s
11
+ page: 第 %d 頁
12
+ recent_posts: 最新文章
13
+ newer: Newer
14
+ older: Older
15
+ share: Share
16
+ powered_by: Powered by %s
17
+ theme: Theme - %s
18
+ rss_feed: RSS Feed
19
+ category: Category
20
+ tag: Tag
21
+ site_visitors: Visitors
22
+ page_views: Views
23
+ friends: 友情鏈接
24
+ posts_count: "%d 篇文章"
25
+
26
+ post:
27
+ word_count: 字數統計
28
+ read_time: 閱讀時長
29
+ minutes: 分鐘
30
+ reward: 打賞
31
+ sticky: 置頂
32
+ copyright_title: 版權聲明
33
+ copyright_content: 本博客所有文章除特別聲明外,著作權歸作者所有。轉載請註明出處!
34
+
35
+ lock:
36
+ lock_info: 請輸入訪問密碼
37
+ lock_error: 密碼錯誤,請重試
38
+ confirm_text: 確定
39
+ cancel_text: 取消
@@ -0,0 +1,9 @@
1
+ <ul class="ads">
2
+ <% for (var i in theme.ads){ %>
3
+ <li>
4
+ <a href="<%= theme.ads[i].url %>">
5
+ <img src="<%= theme.ads[i].img %>" width="<%= theme.ads[i].width %>" alt="<%=theme.ads[i].title %>">
6
+ </a>
7
+ </li>
8
+ <% } %>
9
+ </ul>
@@ -0,0 +1,84 @@
1
+ <%- js('/js/jquery-3.6.0.min') %>
2
+ <%- js('/js/lazyload.min') %>
3
+
4
+ <!-- Tocbot -->
5
+ <% if (theme.toc && is_post() && !page.no_toc) { %>
6
+ <%- js('/js/tocbot.min') %>
7
+ <script>
8
+ tocbot.init({
9
+ tocSelector: ".tocbot",
10
+ contentSelector: ".article-entry",
11
+ headingSelector: "h1, h2, h3, h4, h5, h6",
12
+ hasInnerContainers: true,
13
+ scrollSmooth: true,
14
+ scrollContainer: "main",
15
+ positionFixedSelector: ".tocbot",
16
+ positionFixedClass: "is-position-fixed",
17
+ fixedSidebarOffset: "auto",
18
+ });
19
+ </script>
20
+ <% } %>
21
+
22
+ <script src="https://cdn.staticfile.org/jquery-modal/0.9.2/jquery.modal.min.js"></script>
23
+ <link rel="stylesheet" href="https://cdn.staticfile.org/jquery-modal/0.9.2/jquery.modal.min.css" />
24
+ <script src="https://cdn.staticfile.org/justifiedGallery/3.8.1/js/jquery.justifiedGallery.min.js"></script>
25
+
26
+ <%- js('dist/main') %>
27
+
28
+ <!-- ImageViewer -->
29
+ <% if (theme.image_viewer) { %>
30
+ <%- partial('viewer') %>
31
+ <% } %>
32
+
33
+ <!-- MathJax -->
34
+ <% if (theme.mathjax) { %>
35
+ <%- partial('mathjax') %>
36
+ <script>
37
+ var ayeriaConfig = {
38
+ mathjax: true,
39
+ };
40
+ </script>
41
+ <% } %>
42
+
43
+ <!-- Katex -->
44
+ <% if (theme.katex.enable) { %>
45
+ <%- partial('katex') %>
46
+ <% } %>
47
+
48
+ <!-- busuanzi -->
49
+ <% if (theme.busuanzi && theme.busuanzi.enable) { %>
50
+ <%- js('/js/busuanzi-2.3.pure.min') %>
51
+ <% } %>
52
+
53
+ <!-- ClickLove -->
54
+ <% if (theme.click_effect === 1) { %>
55
+ <%- js('/js/clickLove') %>
56
+ <% } %>
57
+
58
+ <!-- ClickBoom1 -->
59
+ <% if (theme.click_effect === 2) { %>
60
+ <script src="https://cdn.staticfile.org/animejs/3.2.1/anime.min.js"></script>
61
+ <%- js('/js/clickBoom1') %>
62
+ <% } %>
63
+
64
+ <!-- ClickBoom2 -->
65
+ <% if (theme.click_effect === 3) { %>
66
+ <%- js('/js/clickBoom2') %>
67
+ <% } %>
68
+
69
+ <!-- CodeCopy -->
70
+ <% if (theme.copy_btn == true) { %>
71
+ <%- css('/css/clipboard') %>
72
+ <%- partial('post/clipboard') %>
73
+ <% } %>
74
+
75
+ <!-- CanvasBackground -->
76
+ <% if (theme.canvas_bg == 1) { %>
77
+ <%- js('/js/dz') %>
78
+ <% } %>
79
+
80
+ <script>
81
+ if (window.mermaid) {
82
+ mermaid.initialize({ theme: "<%= theme.mermaid.theme %>" });
83
+ }
84
+ </script>
@@ -0,0 +1,14 @@
1
+ <article class="archive-article archive-type-<%= post.layout %>">
2
+ <div class="archive-article-inner">
3
+ <header class="archive-article-header">
4
+ <%- partial('post/date', {class_name: 'archive-article-date', date_format: 'MM/DD'}) %>
5
+ <%- partial('post/title', {class_name: 'archive-article-title'}) %>
6
+ </header>
7
+ <% if(page.category){ %>
8
+ <%- partial('post/category') %>
9
+ <% } %>
10
+ <% if(page.tag){ %>
11
+ <%- partial('post/tag') %>
12
+ <% } %>
13
+ </div>
14
+ </article>
@@ -0,0 +1,62 @@
1
+ <section class="outer">
2
+ <% if (theme.ads && theme.ads.length != 0){ %>
3
+ <%- partial('ads') %>
4
+ <% } %>
5
+ <% if (theme.broadcast.enable && pagination == 2){ %>
6
+ <%- partial('_partial/broadcast') %>
7
+ <% } %>
8
+ <article class="articles">
9
+ <%
10
+ var title = '';
11
+ if (page.category) title = page.category;
12
+ if (page.tag) title = "#" + "&nbsp" + page.tag;
13
+ if (page.archive) {
14
+ if (page.year) title = page.year + (page.month ? '/' + page.month : '');
15
+ else title = __('archive_a');
16
+ }
17
+ %>
18
+ <% if (pagination !== 2){ %>
19
+ <h1 class="page-type-title"><%- title %></h1>
20
+ <% } %>
21
+ <% if (pagination == 2){ %>
22
+ <% page.posts.each(function(post){ %>
23
+ <%- partial('article', {post: post, index: true}) %>
24
+ <% }) %>
25
+ </article>
26
+ <% } else { %>
27
+ <% var last; %>
28
+ <% page.posts.each(function(post, i){ %>
29
+ <% var year = post.date.year(); %>
30
+ <% if (last != year){ %>
31
+ <% if (last != null){ %>
32
+ </div>
33
+ </div>
34
+ <% } %>
35
+ <% last = year; %>
36
+ <div class="archives-wrap">
37
+ <div class="archive-year-wrap">
38
+ <a href="<%- url_for(config.archive_dir + '/' + year) %>" class="archive-year"><%= year %></a>
39
+ </div>
40
+ <div class="archives">
41
+ <% } %>
42
+ <%- partial('archive-post', {post: post, even: i % 2 == 0}) %>
43
+ <% }) %>
44
+ <% if (page.posts.length){ %>
45
+ </div>
46
+ </div>
47
+ <% } %>
48
+ <% } %>
49
+
50
+ <% if (page.total > 1){ %>
51
+ <nav class="page-nav">
52
+ <%
53
+ var prev_text = theme.nav_text.page_prev;
54
+ var next_text = theme.nav_text.page_next
55
+ %>
56
+ <%- paginator({
57
+ prev_text: prev_text,
58
+ next_text: next_text
59
+ }) %>
60
+ </nav>
61
+ <% } %>
62
+ </section>
@@ -0,0 +1,94 @@
1
+ <article
2
+ id="<%= post.layout %>-<%= post.slug %>"
3
+ class="article article-type-<%= post.layout %>"
4
+ itemscope
5
+ itemprop="blogPost"
6
+ data-scroll-reveal
7
+ >
8
+ <div class="article-inner">
9
+ <% if (post.link || post.title) { %>
10
+ <header class="article-header">
11
+ <%- partial('post/title', {class_name: 'article-title'}) %>
12
+ <%- partial('post/author', {class_name: 'article-author'}) %>
13
+ </header>
14
+ <% } %>
15
+
16
+ <% if (index || is_post()) { %>
17
+ <div class="article-meta">
18
+ <%- partial('post/date', {class_name: 'article-date', date_format: null}) %>
19
+ <%- partial('post/category') %>
20
+ <% if (theme.word_count && theme.word_count.enable && !post.no_word_count) { %>
21
+ <%- partial('post/word') %>
22
+ <% } %>
23
+ </div>
24
+ <% } %>
25
+
26
+ <% if (theme.toc && is_post()) { %>
27
+ <%- partial('post/tocbot') %>
28
+ <% } %>
29
+
30
+ <% if (theme.excerpt_all && index) { %>
31
+ <% } else { %>
32
+ <div class="article-entry" itemprop="articleBody">
33
+ <%- partial('post/justifiedGallery') %>
34
+ <%- partial('post/gallery') %>
35
+
36
+ <% if (post.excerpt && index) { %>
37
+ <%- post.excerpt %>
38
+ <% if (theme.excerpt_link) { %>
39
+ <a class="article-more-link" href="<%- url_for(post.path) %>"><%= theme.excerpt_link %></a>
40
+ <% } %>
41
+ <% } else { %>
42
+ <%- post.content %>
43
+ <% } %>
44
+
45
+ <!-- reward -->
46
+ <% if ((theme.reward_type === 2 || (theme.reward_type === 1 && post.reward)) && !index && !post.no_reward) { %>
47
+ <div id="reward-out">
48
+ <div id="reward-btn" class="reward-trigger">
49
+ <i class="ri-cup-line"></i> <%= (theme.reward && theme.reward.button_text) ? theme.reward.button_text : __('post.reward') %>
50
+ </div>
51
+ </div>
52
+ <% } %>
53
+ </div>
54
+ <% } %>
55
+
56
+ <!-- copyright -->
57
+ <% if (((theme.copyright_type === 2) || (theme.copyright_type === 1 && post.copyright)) && !index) { %>
58
+ <div class="declare">
59
+ <ul class="post-copyright">
60
+ <li>
61
+ <i class="ri-copyright-line"></i>
62
+ <strong><%= __('post.copyright_title') %>: </strong>
63
+ <% if (post.copyright_content) { %>
64
+ <%= post.copyright_content %>
65
+ <% } else { %>
66
+ <%= __('post.copyright_content') %>
67
+ <% } %>
68
+ </li>
69
+ </ul>
70
+ </div>
71
+ <% } %>
72
+
73
+ <footer class="article-footer">
74
+ <% if (!index && theme.share_enable) { %>
75
+ <%- partial('post/share') %>
76
+ <% } %>
77
+ <%- partial('post/tag') %>
78
+ </footer>
79
+ </div>
80
+
81
+ <% if (!index) { %>
82
+ <%- partial('post/nav') %>
83
+ <% } %>
84
+
85
+ <% if (theme.valine && theme.valine.enable && !post.no_valine) { %>
86
+ <%- partial('post/valine', { key: post.slug, title: post.title, url: config.url + url_for(post.path) }) %>
87
+ <% } %>
88
+
89
+ <!-- [2026-03] 评论系统已从 Gitalk/Twikoo 迁移至 giscus,详见 doc/audit-report.md #1 #9 -->
90
+
91
+ <% if (!index) { %>
92
+ <%- partial('post/giscus') %>
93
+ <% } %>
94
+ </article>
@@ -0,0 +1,53 @@
1
+ <% if (theme.cover.enable) { %>
2
+ <section class="cover">
3
+ <% if (theme.github.enable && theme.github.url) { %>
4
+ <a class="forkMe" href="<%= theme.github.url %>" target="_blank">
5
+ <img width="149" height="149" src="<%- url_for('images/forkme.png') %>"
6
+ class="attachment-full size-full" alt="Fork me on GitHub" data-recalc-dims="1">
7
+ </a>
8
+ <% } %>
9
+
10
+ <div class="cover-frame">
11
+ <div class="bg-box">
12
+ <img src="<%- theme.cover.path %>" alt="image frame" />
13
+ </div>
14
+ <div class="cover-inner text-center text-white">
15
+ <a href="<%- url_for() %>"><h1><%= config.title %></h1></a>
16
+ <div id="subtitle-box">
17
+ <% if (theme.subtitle.enable) { %>
18
+ <span id="subtitle"></span>
19
+ <% } else { %>
20
+ <span id="subtitle"><%= theme.subtitle.text %></span>
21
+ <% } %>
22
+ </div>
23
+ <div>
24
+ <% if (theme.cover.logo) { %>
25
+ <img src="<%- theme.cover.logo %>" class="cover-logo" alt="<%= config.title %>" />
26
+ <% } %>
27
+ </div>
28
+ </div>
29
+ </div>
30
+
31
+ <div class="cover-learn-more">
32
+ <a href="javascript:void(0)" class="anchor"><i class="ri-arrow-down-line"></i></a>
33
+ </div>
34
+ </section>
35
+ <% } %>
36
+
37
+ <% if (theme.subtitle.enable) { %>
38
+ <script src="https://cdn.staticfile.org/typed.js/2.0.12/typed.min.js"></script>
39
+ <script>
40
+ try {
41
+ var typed = new Typed("#subtitle", {
42
+ strings: ['<%= theme.subtitle.text %>', '<%= theme.subtitle.text2 %>', '<%= theme.subtitle.text3 %>'],
43
+ startDelay: <%= theme.subtitle.startDelay %>,
44
+ typeSpeed: <%= theme.subtitle.typeSpeed %>,
45
+ loop: <%= theme.subtitle.loop %>,
46
+ backSpeed: <%= theme.subtitle.backSpeed %>,
47
+ showCursor: <%= theme.subtitle.showCursor %>
48
+ });
49
+ } catch (err) {
50
+ console.log(err)
51
+ }
52
+ </script>
53
+ <% } %>
@@ -0,0 +1,11 @@
1
+ <% if (theme.baidu_analytics){ %>
2
+ <script>
3
+ var _hmt = _hmt || [];
4
+ (function() {
5
+ var hm = document.createElement("script");
6
+ hm.src = "https://hm.baidu.com/hm.js?<%= theme.baidu_analytics %>";
7
+ var s = document.getElementsByTagName("script")[0];
8
+ s.parentNode.insertBefore(hm, s);
9
+ })();
10
+ </script>
11
+ <% } %>
@@ -0,0 +1,20 @@
1
+ <% if (theme.broadcast.type===1 && theme.broadcast.text){ %>
2
+ <div class="notice">
3
+ <i class="ri-heart-fill"></i>
4
+ <div class="notice-content"><%= theme.broadcast.text %></div>
5
+ </div>
6
+ <% } %>
7
+ <% if (theme.broadcast.type===2){ %>
8
+ <div class="notice">
9
+ <i class="ri-heart-fill"></i>
10
+ <div class="notice-content" id="broad"></div>
11
+ </div>
12
+ <script type="text/javascript">
13
+ fetch('https://v1.hitokoto.cn')
14
+ .then(response => response.json())
15
+ .then(data => {
16
+ document.getElementById("broad").innerHTML = data.hitokoto;
17
+ })
18
+ .catch(console.error)
19
+ </script>
20
+ <% } %>
@@ -0,0 +1,8 @@
1
+ <div class="float-btn totop" id="totop">
2
+ <i class="ri-arrow-up-line"></i>
3
+ </div>
4
+ <% if (theme.darkmode){ %>
5
+ <div class="float-btn todark" id="todark">
6
+ <i class="ri-moon-line"></i>
7
+ </div>
8
+ <% } %>
@@ -0,0 +1,62 @@
1
+ <footer class="footer">
2
+ <div class="outer">
3
+ <ul>
4
+ <li>
5
+ Copyrights &copy;
6
+ <% if (theme.since && !isNaN(theme.since) && theme.since < date(new Date(), 'YYYY')) { %><%- theme.since%>-<% } %><%= date(new Date(), 'YYYY') %>
7
+ <i class="ri-heart-fill heart_icon"></i> <%= config.author || config.title %>
8
+ </li>
9
+ </ul>
10
+ <ul>
11
+ <li>
12
+ <% if (theme.pageFooter){ %>
13
+ <% var hexoLink = '<a href="https://hexo.io" target="_blank">Hexo</a>'; %>
14
+ <% var themeLink = '<a href="https://github.com/KaleidScoper/hexo-theme-ayeria" target="_blank">Ayeria</a>'; %>
15
+ <%- __('powered_by', hexoLink) %>
16
+ <span class="division">|</span>
17
+ <%- __('theme', themeLink) %>
18
+ <% } %>
19
+ </li>
20
+ </ul>
21
+ <ul>
22
+ <li>
23
+ <% if (theme.busuanzi && theme.busuanzi.enable){ %>
24
+ <%# "不蒜子统计" %>
25
+ <%- partial('post/busuanzi') %>
26
+ <% } %>
27
+ </li>
28
+ </ul>
29
+ <ul>
30
+ <% if (theme.icp&&theme.icp.enable){ %>
31
+ <li>
32
+ <a href="<%= theme.icp.url %>" target="_blank" rel="nofollow"><%= theme.icp.text %></a>
33
+ </li>
34
+ <% } %>
35
+ </ul>
36
+ <ul>
37
+ <% if (theme.gongan&&theme.gongan.enable){ %>
38
+ <li>
39
+ <img src="<%= theme.gongan.img %>"></img>
40
+ <a href="<%= theme.gongan.url %>" target="_blank" rel="nofollow"><%= theme.gongan.text %></a>
41
+ </li>
42
+ <% } %>
43
+ </ul>
44
+ <ul>
45
+ <li>
46
+ <!-- cnzz统计 -->
47
+ <% if (theme.cnzz&&theme.cnzz.enable){ %>
48
+ <script type="text/javascript" src='<%= theme.cnzz.url%>'></script>
49
+ <% } %>
50
+ </li>
51
+ </ul>
52
+ <!-- 随机句子模块 -->
53
+ <% if (theme.random_sentences && theme.random_sentences.enable){ %>
54
+ <ul>
55
+ <li>
56
+ <div id="random-sentence" class="random-sentence"
57
+ data-random-sentences-config='{"use_local_file": <%= theme.random_sentences.use_local_file !== undefined ? theme.random_sentences.use_local_file : true %>}'></div>
58
+ </li>
59
+ </ul>
60
+ <% } %>
61
+ </div>
62
+ </footer>
@@ -0,0 +1,10 @@
1
+ <% if (theme.google_analytics){ %>
2
+ <!-- Global site tag (gtag.js) - Google Analytics -->
3
+ <script async src="https://www.googletagmanager.com/gtag/js?id=<%= theme.google_analytics %>"></script>
4
+ <script>
5
+ window.dataLayer = window.dataLayer || [];
6
+ function gtag(){dataLayer.push(arguments);}
7
+ gtag('js', new Date());
8
+ gtag('config', '<%= theme.google_analytics %>');
9
+ </script>
10
+ <% } %>
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+
3
+ <% if (config.language){ %>
4
+ <html lang="<%= config.language %>">
5
+ <% } else { %>
6
+ <html lang="en">
7
+ <% }%>
8
+
9
+ <head>
10
+ <meta charset="utf-8" />
11
+ <% var title = page.title; if (is_archive()) { title = __('archive_a'); if
12
+ (is_month()) { title += ': ' + page.year + '/' + page.month; } else if
13
+ (is_year()) { title += ': ' + page.year; } } else if (is_category()) {
14
+ title = page.category; } else if (is_tag()) { title = __('tag') + ': ' +
15
+ page.tag; } %> <% if (page.keywords){ %>
16
+ <meta
17
+ name="keywords"
18
+ content="<%= page.keywords %>,<%= config.keywords %>"
19
+ />
20
+ <% } else if (config.keywords){ %>
21
+ <meta name="keywords" content="<%= config.keywords %>" />
22
+ <% } %> <% if (page.description){ %>
23
+ <meta name="description" content="<%= page.description %>" />
24
+ <% } else if (config.description){ %>
25
+ <meta name="description" content="<%= config.description %>" />
26
+ <% } %>
27
+ <meta
28
+ name="viewport"
29
+ content="width=device-width, initial-scale=1, maximum-scale=1"
30
+ />
31
+ <title><% if (title){ %><%= title %> | <% } %> <%= config.title %></title>
32
+ <% if (theme.favicon){ %>
33
+ <link rel="icon" type="image/svg+xml" href="<%- theme.favicon %>" />
34
+ <% } %>
35
+ <link rel="preconnect" href="https://fonts.font.im" crossorigin />
36
+ <link rel="preconnect" href="https://fonts.gstatic.font.im" crossorigin />
37
+ <link rel="stylesheet" href="https://fonts.font.im/css2?family=Noto+Serif+SC:wght@400;700&family=Noto+Sans+SC:wght@300;400&display=swap" />
38
+ <%- css('dist/main') %>
39
+ <%- css('css/fonts/remixicon') %>
40
+ <%- css('css/custom') %>
41
+ <% if (theme.progressBar){ %>
42
+ <script src="https://cdn.staticfile.org/pace/1.2.4/pace.min.js"></script>
43
+ <% } %> <%- partial('google-analytics') %> <%- partial('baidu-analytics')
44
+ %>
45
+ <% if (theme.lock && theme.lock.enable) { %>
46
+ <link
47
+ rel="stylesheet"
48
+ href="https://cdn.staticfile.org/limonte-sweetalert2/11.0.19/sweetalert2.min.css"
49
+ />
50
+ <script src="https://cdn.staticfile.org/limonte-sweetalert2/11.0.19/sweetalert2.min.js"></script>
51
+ <style>
52
+ .swal2-styled.swal2-confirm {
53
+ font-size: 1.6rem;
54
+ }
55
+ </style>
56
+ <% } %>
57
+
58
+ <!-- mermaid -->
59
+ <% if (theme.mermaid.enable) { %>
60
+ <script src="<%= theme.mermaid.cdn %>"></script>
61
+ <% } %>
62
+
63
+ <!-- 随机句子功能 -->
64
+ <% if (theme.random_sentences && theme.random_sentences.enable){ %>
65
+ <script src="/js/random-sentences.js"></script>
66
+ <% } %>
67
+ </head>