hexo-theme-redefine-x 2.9.1 → 2.9.3

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 (70) hide show
  1. package/.versionrc.js +1 -0
  2. package/_config.yml +32 -9
  3. package/languages/en.yml +58 -0
  4. package/languages/es.yml +58 -0
  5. package/languages/fr.yml +59 -1
  6. package/languages/ja.yml +58 -0
  7. package/languages/zh-CN.yml +58 -0
  8. package/languages/zh-TW.yml +58 -0
  9. package/layout/components/scripts.ejs +5 -0
  10. package/layout/pages/home/home-banner.ejs +1 -7
  11. package/layout/pages/masonry/masonry.ejs +1 -1
  12. package/layout/pages/tag/tags.ejs +2 -2
  13. package/layout/utils/image-viewer.ejs +21 -2
  14. package/package.json +1 -1
  15. package/scripts/events/welcome.js +13 -15
  16. package/scripts/filters/css-optimizer.js +78 -0
  17. package/scripts/filters/html-optimizer.js +48 -0
  18. package/scripts/filters/img-handle.js +94 -7
  19. package/scripts/filters/img-optimizer.js +566 -0
  20. package/scripts/filters/js-optimizer.js +77 -0
  21. package/scripts/filters/lazyload-handle.js +15 -3
  22. package/scripts/modules/image-exif.js +835 -0
  23. package/source/css/build/tailwind.css +1 -1
  24. package/source/css/common/basic.styl +39 -27
  25. package/source/css/common/colors.styl +1 -1
  26. package/source/css/common/markdown.styl +4 -5
  27. package/source/css/common/redefine-theme.styl +1 -0
  28. package/source/css/common/variables.styl +2 -0
  29. package/source/css/layout/_modules/image-exif.styl +400 -0
  30. package/source/css/layout/_partials/home-banner.styl +2 -2
  31. package/source/css/layout/_partials/image-viewer.styl +510 -18
  32. package/source/css/layout/_partials/page-template.styl +47 -9
  33. package/source/css/layout/_partials/tagcloud.styl +6 -6
  34. package/source/css/layout/article-content.styl +47 -9
  35. package/source/css/layout/tag-content.styl +1 -1
  36. package/source/images/redefine-logo.avif +0 -0
  37. package/source/images/redefine-og.avif +0 -0
  38. package/source/images/wallhaven-wqery6-dark.avif +0 -0
  39. package/source/images/wallhaven-wqery6-light.avif +0 -0
  40. package/source/js/build/layouts/autoHover.js +2 -0
  41. package/source/js/build/layouts/autoHover.js.map +1 -0
  42. package/source/js/build/layouts/imageExif.js +2 -0
  43. package/source/js/build/layouts/imageExif.js.map +1 -0
  44. package/source/js/build/layouts/lazyload.js +1 -1
  45. package/source/js/build/layouts/lazyload.js.map +1 -1
  46. package/source/js/build/main.js +1 -1
  47. package/source/js/build/main.js.map +1 -1
  48. package/source/js/build/plugins/hbe.js +1 -1
  49. package/source/js/build/plugins/hbe.js.map +1 -1
  50. package/source/js/build/tools/imageViewer.js +1 -1
  51. package/source/js/build/tools/imageViewer.js.map +1 -1
  52. package/source/js/build/tools/tocToggle.js +1 -1
  53. package/source/js/build/tools/tocToggle.js.map +1 -1
  54. package/source/js/build/utils.js +1 -1
  55. package/source/js/build/utils.js.map +1 -1
  56. package/source/js/layouts/autoHover.js +362 -0
  57. package/source/js/layouts/imageExif.js +619 -0
  58. package/source/js/layouts/lazyload.js +313 -140
  59. package/source/js/main.js +7 -2
  60. package/source/js/plugins/hbe.js +48 -0
  61. package/source/js/tools/imageViewer.js +1762 -156
  62. package/source/js/tools/tocToggle.js +3 -1
  63. package/source/js/utils.js +18 -0
  64. package/CHANGELOG.md +0 -27
  65. package/source/images/loading.svg +0 -5
  66. package/source/images/redefine-logo.webp +0 -0
  67. package/source/images/redefine-og.webp +0 -0
  68. package/source/images/wallhaven-wqery6-dark.webp +0 -0
  69. package/source/images/wallhaven-wqery6-light.webp +0 -0
  70. package/vercel.json +0 -7
package/.versionrc.js CHANGED
@@ -31,5 +31,6 @@ current version: {{currentTag}}
31
31
  // 跳过某步骤 可设置 bump changelog commit tag
32
32
  skip: {
33
33
  // commit: true
34
+ "changelog": true
34
35
  }
35
36
  }
package/_config.yml CHANGED
@@ -73,14 +73,15 @@ global:
73
73
  # Effects on mouse hover
74
74
  hover:
75
75
  shadow: true # shadow effect
76
- scale: false # scale effect
76
+ scale: true # scale effect
77
+ auto_hover: true # when element move into viewpoint, show the hover animation automatically
77
78
  # Scroll progress
78
79
  scroll_progress:
79
- bar: false # progress bar
80
+ bar: true # progress bar
80
81
  percentage: true # percentage
81
82
  # Website counter
82
83
  website_counter:
83
- url: https://cn.vercount.one/js # counter API URL (no need to change)
84
+ url: https://www.vercount.one/js # counter API URL (no need to change)
84
85
  enable: true # enable website counter or not
85
86
  site_pv: true # site page view
86
87
  site_uv: true # site unique visitor
@@ -100,7 +101,7 @@ global:
100
101
  # Whether to enable open graph
101
102
  open_graph:
102
103
  enable: true
103
- image: /images/redefine-og.webp # default og:image
104
+ image: /images/redefine-og.avif # default og:image
104
105
  description: Hexo Theme Redefine, Redefine Your Hexo Journey.
105
106
  # Google Analytics
106
107
  google_analytics:
@@ -132,8 +133,8 @@ home_banner:
132
133
  style: fixed # static or fixed
133
134
  # Home banner image
134
135
  image:
135
- light: /images/wallhaven-wqery6-light.webp # light mode
136
- dark: /images/wallhaven-wqery6-dark.webp # dark mode
136
+ light: /images/wallhaven-wqery6-light.avif # light mode
137
+ dark: /images/wallhaven-wqery6-dark.avif # dark mode
137
138
  # Home banner title
138
139
  title: Theme Redefine
139
140
  # Home banner subtitle
@@ -282,8 +283,9 @@ articles:
282
283
  font_size: 16px # Font size
283
284
  line_height: 1.5 # Line height
284
285
  image_border_radius: 14px # image border radius
285
- image_alignment: center # image alignment. left, center
286
- image_caption: false # Whether to display image caption
286
+ image_caption: block # Whether to display image caption: false | float | block
287
+ image_figure_number: false # Whether to display figure number for images; Only works when image_caption is true
288
+ image_max_height: 80svh # Max height for images
287
289
  link_icon: true # Whether to display link icon
288
290
  delete_mask: false # Add mask effect to <del> tags, hiding content by default and revealing on hover
289
291
  title_alignment: left # Title alignment. left, center
@@ -327,7 +329,11 @@ articles:
327
329
  enable: true # Whether to enable
328
330
  default: cc_by_nc_sa # Default license, can be cc_by_nc_sa, cc_by_nd, cc_by_nc, cc_by_sa, cc_by, all_rights_reserved, public_domain
329
331
  # Whether to enable lazyload for images
332
+ # Strongly recommended to enable this feature to improve page load speed
330
333
  lazyload: true
334
+ # Preload Images that out of viewpoint when Idle to improve user experience
335
+ # Only Enable this when lazyload is true
336
+ lazyload_preload: false
331
337
  # Pangu.js (automatically add space between Chinese and English). See https://github.com/vinta/pangu.js
332
338
  pangu_js: false
333
339
  # Article recommendation. Requires @node-rs/jieba (npm install @node-rs/jieba). Transplanted from hexo-theme-volantis.
@@ -341,7 +347,7 @@ articles:
341
347
  # Max number of articles to display mobile
342
348
  mobile_limit: 2
343
349
  # Placeholder image
344
- placeholder: /images/wallhaven-wqery6-light.webp
350
+ placeholder: /images/wallhaven-wqery6-light.avif
345
351
  # Skip directory
346
352
  skip_dirs: []
347
353
  # ARTICLE <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< end
@@ -432,6 +438,23 @@ inject:
432
438
  # PLUGINS >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> start
433
439
  # Docs: https://redefine-x-docs.jason-yang.top/zh/plugins
434
440
  plugins:
441
+ # All Minifiers.
442
+ minifier:
443
+ # Whether to enable images optimize
444
+ imagesOptimize:
445
+ # All bitmap images will be optimized to AVIF format
446
+ # Requires FFMPEG with LibSVTAV1 codec. See https://trac.ffmpeg.org/wiki/Encode/AV1
447
+ # Delete the optimized images through hexo clean --include-minify
448
+ # Please do remember delete the cached images after you change the config
449
+ AVIF_COMPRESS: true # Convert JPEG, JPG, PNG, WEBP, GIF, Animated GIF to AVIF
450
+ IMG_MAX_PIXELS: 2073600 # approx 1920*1080
451
+ AVIF_TARGET_CRF: 25 # AVIF compression quality, lower value means higher quality (0-63)
452
+ ENCODER_PRESET: 4 # Encoder preset, lower value means higher speed (3-10)
453
+ # Whether to enable SVG compress. Requires SVGO
454
+ SVGO_COMPRESS: true # Compress SVG
455
+ jsOptimize: true # Whether to enable JS compress.
456
+ htmlOptimize: true # Whether to enable HTML compress.
457
+ cssOptimize: true # Whether to enable CSS compress.
435
458
  # RSS feed. Requires hexo-generator-feed (npm i hexo-generator-feed). See https://github.com/hexojs/hexo-generator-feed
436
459
  feed:
437
460
  enable: false # Whether to enable
package/languages/en.yml CHANGED
@@ -91,3 +91,61 @@ ago:
91
91
  create_time: Created
92
92
  update_time: Updated
93
93
  expired: "This post is written %s days ago, and the content may not be up to date."
94
+
95
+ # ----------------------------------------
96
+ # Image EXIF
97
+ # ----------------------------------------
98
+ image_exif:
99
+ ui:
100
+ toggle: EXIF Swap
101
+ section:
102
+ camera: Cam
103
+ lens: Lens
104
+ exposure: Expo
105
+ other: Other
106
+ field:
107
+ make: Make
108
+ model: Model
109
+ datetime_original: Date
110
+ lens_model: Lens
111
+ focal_length: FocLength
112
+ focus_mode: AF Mode
113
+ exposure_time: Shutter
114
+ aperture: Aperture
115
+ iso: ISO
116
+ exposure_program: ExpProg
117
+ exposure_bias: ExpComp
118
+ metering_mode: Meter
119
+ flash: Flash
120
+ white_balance: WB
121
+ gps_latitude: Lat
122
+ gps_longitude: Lon
123
+ gps_altitude: Alt
124
+ exposure_program:
125
+ undefined: Undef
126
+ manual: Manual
127
+ normal: Norm
128
+ aperture_priority: Av
129
+ shutter_priority: Tv
130
+ creative: Creat
131
+ action: Action
132
+ portrait: Port
133
+ landscape: Land
134
+ metering_mode:
135
+ unknown: Unk
136
+ average: Avg
137
+ center_weighted: CtrWt
138
+ spot: Spot
139
+ multi_spot: MSpot
140
+ evaluative: Eval
141
+ partial: Part
142
+ other: Other
143
+ white_balance:
144
+ auto: Auto
145
+ manual: Man
146
+ flash:
147
+ on: ON
148
+ off: OFF
149
+ value:
150
+ program_with_number: "Prog %s"
151
+ mode_with_number: "Mode %s"
package/languages/es.yml CHANGED
@@ -90,3 +90,61 @@ ago:
90
90
  create_time: Creado
91
91
  update_time: Actualizado
92
92
  expired: "Esta publicación fue escrita hace %s días, el contenido puede no estar actualizado."
93
+
94
+ # ----------------------------------------
95
+ # Image EXIF
96
+ # ----------------------------------------
97
+ image_exif:
98
+ ui:
99
+ toggle: EXIF Camb
100
+ section:
101
+ camera: Cam
102
+ lens: Lens
103
+ exposure: Expo
104
+ other: Otro
105
+ field:
106
+ make: Marca
107
+ model: Modelo
108
+ datetime_original: Fecha
109
+ lens_model: Lens
110
+ focal_length: FocLen
111
+ focus_mode: AF Mod
112
+ exposure_time: Shutter
113
+ aperture: Apert
114
+ iso: ISO
115
+ exposure_program: ExpProg
116
+ exposure_bias: ExpComp
117
+ metering_mode: Meter
118
+ flash: Flash
119
+ white_balance: WB
120
+ gps_latitude: Lat
121
+ gps_longitude: Lon
122
+ gps_altitude: Alt
123
+ exposure_program:
124
+ undefined: Undef
125
+ manual: Manual
126
+ normal: Auto
127
+ aperture_priority: Av
128
+ shutter_priority: Tv
129
+ creative: Creat
130
+ action: Action
131
+ portrait: Port
132
+ landscape: Land
133
+ metering_mode:
134
+ unknown: Unk
135
+ average: Avg
136
+ center_weighted: CtrWt
137
+ spot: Spot
138
+ multi_spot: MSpot
139
+ evaluative: Eval
140
+ partial: Part
141
+ other: Otro
142
+ white_balance:
143
+ auto: Auto
144
+ manual: Man
145
+ flash:
146
+ on: ON
147
+ off: OFF
148
+ value:
149
+ program_with_number: "Prog %s"
150
+ mode_with_number: "Modo %s"
package/languages/fr.yml CHANGED
@@ -89,4 +89,62 @@ ago:
89
89
 
90
90
  create_time: Créé
91
91
  update_time: Mis à jour
92
- expired: "Ce message a été écrit il y a %s jours et son contenu peut être obsolète."
92
+ expired: "Ce message a été écrit il y a %s jours et son contenu peut être obsolète."
93
+
94
+ # ----------------------------------------
95
+ # Image EXIF
96
+ # ----------------------------------------
97
+ image_exif:
98
+ ui:
99
+ toggle: EXIF ON
100
+ section:
101
+ camera: Cam
102
+ lens: Lens
103
+ exposure: Expo
104
+ other: Autre
105
+ field:
106
+ make: Marq
107
+ model: Model
108
+ datetime_original: Date
109
+ lens_model: Lens
110
+ focal_length: FocLen
111
+ focus_mode: AF Mode
112
+ exposure_time: Shutter
113
+ aperture: Apert
114
+ iso: ISO
115
+ exposure_program: ExpProg
116
+ exposure_bias: ExpComp
117
+ metering_mode: Meter
118
+ flash: Flash
119
+ white_balance: WB
120
+ gps_latitude: Lat
121
+ gps_longitude: Lon
122
+ gps_altitude: Alt
123
+ exposure_program:
124
+ undefined: Undef
125
+ manual: Manual
126
+ normal: Auto
127
+ aperture_priority: Av
128
+ shutter_priority: Tv
129
+ creative: Creat
130
+ action: Action
131
+ portrait: Port
132
+ landscape: Land
133
+ metering_mode:
134
+ unknown: Unk
135
+ average: Avg
136
+ center_weighted: CtrWt
137
+ spot: Spot
138
+ multi_spot: MSpot
139
+ evaluative: Eval
140
+ partial: Part
141
+ other: Autre
142
+ white_balance:
143
+ auto: Auto
144
+ manual: Man
145
+ flash:
146
+ on: ON
147
+ off: OFF
148
+ value:
149
+ program_with_number: "Prog %s"
150
+ mode_with_number: "Mode %s"
package/languages/ja.yml CHANGED
@@ -90,3 +90,61 @@ ago:
90
90
  create_time: 作成
91
91
  update_time: 更新
92
92
  expired: "この記事は %s 日前に最後に更新される"
93
+
94
+ # ----------------------------------------
95
+ # Image EXIF
96
+ # ----------------------------------------
97
+ image_exif:
98
+ ui:
99
+ toggle: EXIF切替
100
+ section:
101
+ camera: カメラ
102
+ lens: レンズ
103
+ exposure: 露出
104
+ other: 他
105
+ field:
106
+ make: ブランド
107
+ model: モデル
108
+ datetime_original: 日時
109
+ lens_model: レンズ
110
+ focal_length: 焦点
111
+ focus_mode: AFモード
112
+ exposure_time: シャッター
113
+ aperture: 絞り
114
+ iso: ISO
115
+ exposure_program: 露出プログ
116
+ exposure_bias: 露出補正
117
+ metering_mode: 測光
118
+ flash: フラッシュ
119
+ white_balance: WB
120
+ gps_latitude: 緯度
121
+ gps_longitude: 経度
122
+ gps_altitude: 高度
123
+ exposure_program:
124
+ undefined: 未定義
125
+ manual: 手動
126
+ normal: 自動
127
+ aperture_priority: Av
128
+ shutter_priority: Tv
129
+ creative: クリエイト
130
+ action: アクション
131
+ portrait: ポートレ
132
+ landscape: 風景
133
+ metering_mode:
134
+ unknown: 不明
135
+ average: 平均
136
+ center_weighted: 中央
137
+ spot: スポット
138
+ multi_spot: Mスポット
139
+ evaluative: 評価
140
+ partial: 部分
141
+ other: 他
142
+ white_balance:
143
+ auto: 自動
144
+ manual: 手動
145
+ flash:
146
+ on: ON
147
+ off: OFF
148
+ value:
149
+ program_with_number: "Prog %s"
150
+ mode_with_number: "Mode %s"
@@ -93,3 +93,61 @@ ago:
93
93
  create_time: 创建
94
94
  update_time: 更新
95
95
  expired: "这篇文章最后更新于 %s 天前,内容可能已经过时。"
96
+
97
+ # ----------------------------------------
98
+ # Image EXIF
99
+ # ----------------------------------------
100
+ image_exif:
101
+ ui:
102
+ toggle: 切换 EXIF 信息
103
+ section:
104
+ camera: 相机
105
+ lens: 镜头
106
+ exposure: 曝光
107
+ other: 其他
108
+ field:
109
+ make: 品牌
110
+ model: 机型
111
+ datetime_original: 拍摄时间
112
+ lens_model: 镜头
113
+ focal_length: 焦距
114
+ focus_mode: 对焦模式
115
+ exposure_time: 快门
116
+ aperture: 光圈
117
+ iso: 感光度
118
+ exposure_program: 曝光程序
119
+ exposure_bias: 曝光补偿
120
+ metering_mode: 测光模式
121
+ flash: 闪光灯
122
+ white_balance: 白平衡
123
+ gps_latitude: 纬度
124
+ gps_longitude: 经度
125
+ gps_altitude: 海拔
126
+ exposure_program:
127
+ undefined: 未定义
128
+ manual: 手动
129
+ normal: 自动
130
+ aperture_priority: 光圈优先
131
+ shutter_priority: 快门优先
132
+ creative: 创意程序
133
+ action: 动作程序
134
+ portrait: 肖像模式
135
+ landscape: 风景模式
136
+ metering_mode:
137
+ unknown: 未知
138
+ average: 平均测光
139
+ center_weighted: 中央重点
140
+ spot: 点测光
141
+ multi_spot: 多点测光
142
+ evaluative: 评价测光
143
+ partial: 局部测光
144
+ other: 其他
145
+ white_balance:
146
+ auto: 自动
147
+ manual: 手动
148
+ flash:
149
+ on: ON
150
+ off: OFF
151
+ value:
152
+ program_with_number: "程序 %s"
153
+ mode_with_number: "模式 %s"
@@ -92,3 +92,61 @@ ago:
92
92
  create_time: 撰寫
93
93
  update_time: 更新
94
94
  expired: "這篇文章最後更新於 %s 天前,內容可能已經過時。"
95
+
96
+ # ----------------------------------------
97
+ # Image EXIF
98
+ # ----------------------------------------
99
+ image_exif:
100
+ ui:
101
+ toggle: 切換 EXIF 資訊
102
+ section:
103
+ camera: 相機
104
+ lens: 鏡頭
105
+ exposure: 曝光
106
+ other: 其他
107
+ field:
108
+ make: 品牌
109
+ model: 機型
110
+ datetime_original: 拍攝時間
111
+ lens_model: 鏡頭
112
+ focal_length: 焦距
113
+ focus_mode: 對焦模式
114
+ exposure_time: 快門
115
+ aperture: 光圈
116
+ iso: 感光度
117
+ exposure_program: 曝光程序
118
+ exposure_bias: 曝光補償
119
+ metering_mode: 測光模式
120
+ flash: 閃光燈
121
+ white_balance: 白平衡
122
+ gps_latitude: 緯度
123
+ gps_longitude: 經度
124
+ gps_altitude: 海拔
125
+ exposure_program:
126
+ undefined: 未定義
127
+ manual: 手動
128
+ normal: 自動
129
+ aperture_priority: 光圈優先
130
+ shutter_priority: 快門優先
131
+ creative: 創意程式
132
+ action: 動作程式
133
+ portrait: 肖像模式
134
+ landscape: 風景模式
135
+ metering_mode:
136
+ unknown: 未知
137
+ average: 平均測光
138
+ center_weighted: 中央重點
139
+ spot: 點測光
140
+ multi_spot: 多點測光
141
+ evaluative: 評價測光
142
+ partial: 局部測光
143
+ other: 其他
144
+ white_balance:
145
+ auto: 自動
146
+ manual: 手動
147
+ flash:
148
+ on: 開
149
+ off: 關
150
+ value:
151
+ program_with_number: "程式 %s"
152
+ mode_with_number: "模式 %s"
@@ -28,6 +28,11 @@
28
28
  }) %>
29
29
  <% } %>
30
30
 
31
+ <%# Image EXIF Info Card runtime handler - always loaded %>
32
+ <%- renderJS('layouts/imageExif.js', {
33
+ module: false
34
+ }) %>
35
+
31
36
  <% if (theme.footer.runtime) { %>
32
37
  <%- renderJS('tools/runtime.js') %>
33
38
  <%- renderJS('libs/odometer.min.js') %>
@@ -58,7 +58,7 @@
58
58
  const display = theme.home_banner.social_links.style === "center" ? "hidden" : "flex";
59
59
  %>
60
60
  <div class="absolute bottom-0.5 flex <%- flexDirection %> <%- justify %> max-w-[1340px] items-center w-full px-8 sm:px-12">
61
- <div class="<%- display %> p-3 bg-gray-300/50 dark:bg-gray-500/40 backdrop-blur-lg border border-white/20 dark:border-gray-500/30 group rounded-full cursor-pointer flex justify-center items-center aspect-square h-full shadow-redefine-flat hover:shadow-redefine-flat-hover transition-shadow" onclick="scrollToMain()" >
61
+ <div class="<%- display %> home-banner-scroll-to-main p-3 bg-gray-300/50 dark:bg-gray-500/40 backdrop-blur-lg border border-white/20 dark:border-gray-500/30 group rounded-full cursor-pointer flex justify-center items-center aspect-square h-full shadow-redefine-flat hover:shadow-redefine-flat-hover transition-shadow">
62
62
  <i class="fa-solid fa-arrow-down fa-fw fa-lg group-hover:translate-y-1 transition-transform"></i>
63
63
  </div>
64
64
  <div class="social-contacts px-6 py-3 bg-gray-300/50 dark:bg-gray-500/40 backdrop-blur-lg border border-white/20 dark:border-gray-500/30 shadow-redefine-flat rounded-full flex flex-row gap-3 items-center">
@@ -144,12 +144,6 @@
144
144
  <% } %>
145
145
  </div>
146
146
  <script>
147
- const scrollToMain = ()=> {
148
- console.log('scroll');
149
- const target = document.querySelector('.main-content-container');
150
- target.scrollIntoView({ behavior: 'smooth'});
151
- }
152
-
153
147
  // QR code mobile interaction handling
154
148
  document.addEventListener('DOMContentLoaded', function() {
155
149
  const qrToggleItems = document.querySelectorAll('.qr-toggle-item');
@@ -1,6 +1,6 @@
1
1
  <%
2
2
  // Define an array of images to display in the masonry layout
3
- const images = theme.masonry;
3
+ const images = page.images || theme.masonry;
4
4
  %>
5
5
 
6
6
  <h1 class="page-title-header">
@@ -1,11 +1,11 @@
1
1
  <% if (site.tags.length){ %>
2
- <h1 class="page-title-header">
2
+ <h1 class="tagcloud-header">
3
3
  <%- getPageTitle(page) %>
4
4
  </h1>
5
5
 
6
6
  <% if (theme.page_templates.tags_style == 'cloud') { %>
7
7
  <div class="tagcloud-content">
8
- <%- tagcloud({ min_font: 1, max_font: 5, unit: 'rem', amount: 100 }) %>
8
+ <%- tagcloud({ min_font: 1, max_font: 3, unit: 'rem', amount: 100 }) %>
9
9
  </div>
10
10
 
11
11
  <% } else {%>
@@ -1,3 +1,22 @@
1
1
  <div class="image-viewer-container">
2
- <img src="">
3
- </div>
2
+ <div class="image-viewer-stage"></div>
3
+ <div class="image-viewer-info-trigger" aria-label="Show image info">
4
+ <i class="fa-solid fa-comment-image"></i>
5
+ <div class="image-viewer-info-content"></div>
6
+ </div>
7
+ <div class="image-viewer-switcher" aria-hidden="true">
8
+ <button type="button" class="image-viewer-switcher-btn prev" aria-label="Previous image">
9
+ <i class="fa-regular fa-angle-left"></i>
10
+ </button>
11
+ <div class="image-viewer-switcher-pages"></div>
12
+ <button type="button" class="image-viewer-switcher-btn next" aria-label="Next image">
13
+ <i class="fa-regular fa-angle-right"></i>
14
+ </button>
15
+ </div>
16
+ <button type="button" class="image-viewer-switcher-side prev" aria-label="Previous image">
17
+ <i class="fa-regular fa-angle-left"></i>
18
+ </button>
19
+ <button type="button" class="image-viewer-switcher-side next" aria-label="Next image">
20
+ <i class="fa-regular fa-angle-right"></i>
21
+ </button>
22
+ </div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hexo-theme-redefine-x",
3
- "version": "2.9.1",
3
+ "version": "2.9.3",
4
4
  "private": false,
5
5
  "description": "Redefine-X your writing with Hexo Theme Redefine-X. A customized fork of hexo-theme-redefine.",
6
6
  "scripts": {
@@ -67,21 +67,19 @@ hexo.on("ready", async () => {
67
67
  });
68
68
 
69
69
  function logInfo(data) {
70
- hexo.log.info(
71
- `
72
- +=====================================================================================+
73
- | |
74
- | ██████╗ ███████╗██████╗ ███████╗███████╗██╗███╗ ██╗███████╗ ██╗ ██╗ |
75
- | ██╔══██╗██╔════╝██╔══██╗██╔════╝██╔════╝██║████╗ ██║██╔════╝ ╚██╗██╔╝ |
76
- | ██████╔╝█████╗ ██║ ██║█████╗ █████╗ ██║██╔██╗ ██║█████╗█████╗╚███╔╝ |
77
- | ██╔══██╗██╔══╝ ██║ ██║██╔══╝ ██╔══╝ ██║██║╚██╗██║██╔══╝╚════╝██╔██╗ |
78
- | ██║ ██║███████╗██████╔╝███████╗██║ ██║██║ ╚████║███████╗ ██╔╝ ██╗ |
79
- | ╚═╝ ╚═╝╚══════╝╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝╚══════╝ ╚═╝ ╚═╝ |
80
- | |
81
- | current v${version} latest v${data.npmVersion} |
82
- | https://github.com/Jason-JP-Yang/hexo-theme-Redefine-X |
83
- +=====================================================================================+
84
- `,
70
+ hexo.log.info(`
71
+ +=====================================================================================+
72
+ | |
73
+ | ██████╗ ███████╗██████╗ ███████╗███████╗██╗███╗ ██╗███████╗ ██╗ ██╗ |
74
+ | ██╔══██╗██╔════╝██╔══██╗██╔════╝██╔════╝██║████╗ ██║██╔════╝ ╚██╗██╔╝ |
75
+ | ██████╔╝█████╗ ██║ ██║█████╗ █████╗ ██║██╔██╗ ██║█████╗█████╗╚███╔╝ |
76
+ | ██╔══██╗██╔══╝ ██║ ██║██╔══╝ ██╔══╝ ██║██║╚██╗██║██╔══╝╚════╝██╔██╗ |
77
+ | ██║ ██║███████╗██████╔╝███████╗██║ ██║██║ ╚████║███████╗ ██╔╝ ██╗ |
78
+ | ╚═╝ ╚═╝╚══════╝╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝╚══════╝ ╚═╝ ╚═╝ |
79
+ | |
80
+ | current v${version} latest v${data.npmVersion} |
81
+ | https://github.com/Jason-JP-Yang/hexo-theme-Redefine-X |
82
+ +=====================================================================================+`,
85
83
  );
86
84
  }
87
85