chore: initialize hexo blog workspace

This commit is contained in:
Hermes Agent
2026-07-08 06:53:54 +08:00
commit 6d77de20ec
14 changed files with 3731 additions and 0 deletions
+7
View File
@@ -0,0 +1,7 @@
version: 2
updates:
- package-ecosystem: npm
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 20
+8
View File
@@ -0,0 +1,8 @@
.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/
_multiconfig.yml
+108
View File
@@ -0,0 +1,108 @@
# ============================================================
# Butterfly 主题配置文件
# 官方文档: https://butterfly.js.org/
# ============================================================
# ==================== 导航栏 ====================
# 顶部导航菜单项 (图标来自 Font Awesome)
nav:
logo: # Logo 图片 URL (留空则显示站点标题)
display_title: true # 是否显示站点标题
menu:
首页: / || fas fa-home
归档: /archives/ || fas fa-archive
分类: /categories/ || fas fa-folder-open
标签: /tags/ || fas fa-tags
关于: /about/ || fas fa-heart
# ==================== 首页封面 ====================
# 封面大图 / 横幅设置
index:
banner:
enable: true # 是否开启首页封面
img: https://api.btstu.cn/sjbz/api.php # 封面图片 URL (随机二次元图)
# ==================== 主题配色 ====================
theme_color:
enable: true # 是否启用自定义配色
main: '#2D8CF0' # 主色调 (蓝色)
paginator: '#2D8CF0' # 分页器颜色
button_hover: '#EE2C50' # 按钮悬停颜色
# ==================== 文章卡片样式 ====================
# 首页文章列表的显示方式
card:
enable: true # 启用卡片样式
display: spacious # 布局: spacious(宽松) / compact(紧凑)
margin: 30px # 卡片间距
# ==================== 侧边栏 ====================
sidebar:
enable: true # 是否显示侧边栏
position: right # 位置: left / right
widgets: # 侧边栏组件
- type: recent_posts # 最新文章
limit: 5 # 显示篇数
- type: tags # 标签云
limit: 10
# ==================== 页脚 ====================
footer:
enable: true # 是否显示页脚
since: 2026 # 建站年份
# ==================== 社交链接 ====================
social:
GitHub: https://github.com/ || fab fa-github
# ==================== 文章设置 ====================
post:
meta:
date: true # 显示发布日期
updated: true # 显示更新日期
categories: true # 显示分类
copyright: true # 文章末尾显示版权信息
# ==================== 搜索 ====================
local_search:
enable: true # 开启本地搜索(无需第三方服务)
# ==================== 评论 ====================
comments:
use: "" # 评论系统 (空=不启用, 可选: twikoo/waline/giscus 等)
# ============================================================
# 以下为自定义美化配置
# ============================================================
# ==================== 自定义 CSS/JS 注入 ====================
inject:
head:
- <link rel="stylesheet" href="/css/custom.css"> # 引入自定义样式
# ==================== 代码块样式 ====================
code_blocks:
theme: pale night # 代码高亮主题
macStyle: true # 显示 macOS 风格圆点
height_limit: 800 # 代码块最大高度 (px), 超出可滚动
word_wrap: true # 长代码自动换行
copy: true # 显示复制按钮
language: true # 显示代码语言标签
shrink: false # 是否默认折叠代码块
fullpage: false # 是否允许全屏查看代码
# ==================== 页面背景图片设置 ====================
disable_top_img: false # 是否禁用所有页面的顶图
default_top_img: transparent # 默认顶图 (透明=无图)
index_img: transparent # 首页顶图
archive_img: false # 归档页顶图 (false=不显示)
tag_img: transparent # 标签页顶图
tag_per_img: transparent # 单个标签页顶图
category_img: transparent # 分类页顶图
category_per_img: transparent # 单个分类页顶图
footer_img: transparent # 页脚背景图
background: https://image.987119.xyz/uploads/2026/07/18c0005c5dac2c14635.webp # 全站背景图
index_site_info_top: 200px # 首页站点信息距顶部距离
index_top_img_height: 400px # 首页封面图高度
View File
+104
View File
@@ -0,0 +1,104 @@
# Hexo Configuration
## Docs: https://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/
# Site
title: 62117684535a5ba2
subtitle: ''
description: 4e004e2a7528 Hexo 642d5efa7684535a5ba2
keywords:
author: wa feng
language: zh-CN
timezone: ''
# URL
## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
url: https://blog.987119.xyz
permalink: :year/:month/:day/:title/
permalink_defaults:
pretty_urls:
trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
trailing_html: true # Set to false to remove trailing '.html' from permalinks
# Directory
source_dir: source
public_dir: public
tag_dir: tags
archive_dir: archives
category_dir: categories
code_dir: downloads/code
i18n_dir: :lang
skip_render:
# Writing
new_post_name: :title.md # File name of new posts
default_layout: post
titlecase: false # Transform title into titlecase
external_link:
enable: true # Open external links in new tab
field: site # Apply to the whole site
exclude: ''
filename_case: 0
render_drafts: false
post_asset_folder: false
relative_link: false
future: true
syntax_highlighter: highlight.js
highlight:
line_number: true
auto_detect: false
tab_replace: ''
wrap: true
hljs: false
prismjs:
preprocess: true
line_number: true
tab_replace: ''
# Home page setting
# path: Root path for your blogs index page. (default = '')
# per_page: Posts displayed per page. (0 = disable pagination)
# order_by: Posts order. (Order by date descending by default)
index_generator:
path: ''
per_page: 10
order_by: -date
# Category & Tag
default_category: uncategorized
category_map:
tag_map:
# Metadata elements
## https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta
meta_generator: true
# Date / Time format
## Hexo uses Moment.js to parse and display date
## You can customize the date format as defined in
## http://momentjs.com/docs/#/displaying/format/
date_format: YYYY-MM-DD
time_format: HH:mm:ss
## updated_option supports 'mtime', 'date', 'empty'
updated_option: 'mtime'
# Pagination
## Set per_page to 0 to disable pagination
per_page: 10
pagination_dir: page
# Include / Exclude file(s)
## include:/exclude: options only apply to the 'source/' folder
include:
exclude:
ignore:
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: butterfly
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: ''
+3277
View File
File diff suppressed because it is too large Load Diff
+28
View File
@@ -0,0 +1,28 @@
{
"name": "hexo-site",
"version": "0.0.0",
"private": true,
"scripts": {
"build": "hexo generate",
"clean": "hexo clean",
"deploy": "hexo deploy",
"server": "hexo server"
},
"hexo": {
"version": "8.1.2"
},
"dependencies": {
"hexo": "^8.0.0",
"hexo-generator-archive": "^2.0.0",
"hexo-generator-category": "^2.0.0",
"hexo-generator-index": "^4.0.0",
"hexo-generator-tag": "^2.0.0",
"hexo-renderer-ejs": "^2.0.0",
"hexo-renderer-marked": "^7.0.0",
"hexo-renderer-pug": "^3.0.0",
"hexo-renderer-stylus": "^3.0.1",
"hexo-server": "^3.0.0",
"hexo-theme-butterfly": "^5.5.5",
"hexo-theme-landscape": "^1.0.0"
}
}
+4
View File
@@ -0,0 +1,4 @@
---
title: {{ title }}
tags:
---
+4
View File
@@ -0,0 +1,4 @@
---
title: {{ title }}
date: {{ date }}
---
+5
View File
@@ -0,0 +1,5 @@
---
title: {{ title }}
date: {{ date }}
tags:
---
+38
View File
@@ -0,0 +1,38 @@
---
title: Hello World
---
Welcome to [Hexo](https://hexo.io/)! This is your very first post. Check [documentation](https://hexo.io/docs/) for more info. If you get any problems when using Hexo, you can find the answer in [troubleshooting](https://hexo.io/docs/troubleshooting.html) or you can ask me on [GitHub](https://github.com/hexojs/hexo/issues).
## Quick Start
### Create a new post
``` bash
$ hexo new "My New Post"
```
More info: [Writing](https://hexo.io/docs/writing.html)
### Run server
``` bash
$ hexo server
```
More info: [Server](https://hexo.io/docs/server.html)
### Generate static files
``` bash
$ hexo generate
```
More info: [Generating](https://hexo.io/docs/generating.html)
### Deploy to remote sites
``` bash
$ hexo deploy
```
More info: [Deployment](https://hexo.io/docs/one-command-deployment.html)
+147
View File
@@ -0,0 +1,147 @@
/* ==================== 全局毛玻璃样式 ==================== */
/* 明亮模式 */
#body-wrap #recent-posts > .recent-post-item,
#body-wrap .recent-post-item,
#body-wrap #aside-content .card-widget,
#body-wrap .layout > div:first-child:not(.recent-posts),
#body-wrap #nav .menus_items .menus_item .menus_item_child,
#body-wrap #pagination .page-number:not(.current),
#body-wrap #pagination .extend,
#page-header #post-info {
background: rgba(255, 255, 255, 0.85);
backdrop-filter: blur(2px);
-webkit-backdrop-filter: blur(2px);
border: 1px solid rgba(255, 255, 255, 0.85);
box-shadow: 0 8px 16px -4px rgba(138, 138, 138, 0.15);
transition: background 0.3s ease, border 0.3s ease, box-shadow 0.3s ease;
}
#body-wrap #pagination .page-number:not(.current):hover,
#body-wrap #pagination .extend:hover {
background: #ff7142d2;
border-color: #ff7142d2;
color: #fff;
}
/* 夜间模式 */
html[data-theme="dark"] #body-wrap #recent-posts > .recent-post-item,
html[data-theme="dark"] #body-wrap .recent-post-item,
html[data-theme="dark"] #body-wrap #aside-content .card-widget,
html[data-theme="dark"] #body-wrap .layout > div:first-child:not(.recent-posts),
html[data-theme="dark"] #body-wrap #nav .menus_items .menus_item .menus_item_child,
html[data-theme="dark"] #body-wrap #pagination .page-number:not(.current),
html[data-theme="dark"] #body-wrap #pagination .extend,
html[data-theme="dark"] #page-header #post-info {
background: rgba(30, 30, 30, 0.6);
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 8px 16px -4px rgba(0, 0, 0, 0.2);
}
/* ==================== 页头与页脚透明 ==================== */
#footer, #page-header.post-bg, #page-header.page-bg {
background: transparent !important;
}
#page-header.post-bg::before, #page-header.page-bg::before {
background-color: transparent !important;
}
/* ==================== 文章卡片透明 ==================== */
#body-wrap #recent-posts > .recent-post-item .recent-post-info,
#body-wrap #recent-posts > .recent-post-item .recent-post-info::before,
#body-wrap #recent-posts > .recent-post-item .recent-post-info::after,
#body-wrap #recent-posts > .recent-post-item .recent-post-info > .article-title,
#body-wrap #recent-posts > .recent-post-item .recent-post-info > .article-meta-wrap,
#body-wrap #recent-posts > .recent-post-item .recent-post-info > .content {
background: transparent !important;
background-color: transparent !important;
box-shadow: none !important;
}
/* ==================== 表格样式 ==================== */
#article-container table:not(.gist table) {
border-collapse: collapse;
width: 100%;
margin: 1.5rem 0;
overflow-x: auto;
}
#article-container table:not(.gist table) thead {
background: var(--btn-bg);
color: var(--btn-color);
}
#article-container table:not(.gist table) th,
#article-container table:not(.gist table) td {
padding: 10px 16px;
border: 1px solid var(--border-color);
text-align: left;
vertical-align: middle;
}
#article-container table:not(.gist table) tbody tr:nth-child(even) {
background: rgba(0, 0, 0, 0.03);
}
html[data-theme="dark"] #article-container table:not(.gist table) tbody tr:nth-child(even) {
background: rgba(255, 255, 255, 0.03);
}
/* ==================== 排版美化 ==================== */
#article-container p {
line-height: 1.8;
margin: 1rem 0;
text-align: justify;
}
#article-container h1, #article-container h2, #article-container h3 {
margin-top: 2rem;
margin-bottom: 1rem;
padding-bottom: 0.3rem;
border-bottom: 2px solid var(--border-color);
}
#article-container h1::before, #article-container h2::before, #article-container h3::before {
content: "# ";
color: var(--btn-bg);
}
/* ==================== 文章标题栏字体颜色(明亮模式) ==================== */
html:not([data-theme="dark"]) #post-info .post-title {
color: #2c3e50 !important;
text-shadow: none !important;
}
html:not([data-theme="dark"]) #post-info #post-meta,
html:not([data-theme="dark"]) #post-info #post-meta a,
html:not([data-theme="dark"]) #post-info #post-meta .post-meta-separator,
html:not([data-theme="dark"]) #post-info #post-meta i {
color: #2c3e50 !important;
text-shadow: none !important;
}
/* ==================== 文章标题栏悬浮居中 ==================== */
#page-header #post-info {
position: absolute;
bottom: 0px;
left: 50%;
transform: translateX(-50%);
margin: 0 auto;
padding: 20px 40px;
box-sizing: border-box;
display: block;
text-align: left;
border-radius: 10px;
width: min(92%, 1200px);
}
@media screen and (max-width: 768px) {
#page-header #post-info {
padding: 15px 20px !important;
bottom: 20px !important;
width: 90% !important;
}
#post-info #post-meta > .meta-firstline > span:not(.post-meta-wordcount),
#post-info #post-meta > .meta-secondline > span:not(.post-meta-wordcount) {
display: none !important;
}
#post-info #post-meta > .meta-firstline > .post-meta-separator,
#post-info #post-meta > .meta-secondline > .post-meta-separator {
display: none !important;
}
#post-info .post-title {
text-align: justify !important;
text-align-last: left !important;
display: block;
margin-bottom: 10px;
}
}
View File
+1
View File
@@ -0,0 +1 @@
/root/hexo-blog/node_modules/hexo-theme-butterfly