mirror of
https://github.com/DefectingCat/DefectingCat.github.io
synced 2025-07-15 08:41:37 +00:00
feat: 更换分支
This commit is contained in:
48
.github/workflows/hexo_deploy.yml
vendored
Normal file
48
.github/workflows/hexo_deploy.yml
vendored
Normal file
@ -0,0 +1,48 @@
|
||||
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
|
||||
|
||||
name: Node.js CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [12.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- run: yarn -v
|
||||
|
||||
- name: setup hexo env
|
||||
env:
|
||||
HEXO_DEPLOY_KEY: ${{ secrets.HEXO_DEPLOY_KEY }}
|
||||
run: |
|
||||
# set up private key for deploy
|
||||
mkdir -p ~/.ssh/
|
||||
echo "$HEXO_DEPLOY_KEY" | tr -d '\r' > ~/.ssh/id_rsa # 配置秘钥
|
||||
chmod 600 ~/.ssh/id_rsa
|
||||
ssh-keyscan github.com >> ~/.ssh/known_hosts
|
||||
ssh-keyscan e.coding.net >> ~/.ssh/known_hosts
|
||||
# set git infomation
|
||||
git config --global user.name 'DefectingCat'
|
||||
git config --global user.email 'i@defect.ink'
|
||||
# install dependencies
|
||||
npm install
|
||||
|
||||
- name: deploy
|
||||
run: |
|
||||
# publish
|
||||
npm run go
|
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
db.json
|
||||
*.log
|
||||
node_modules/
|
||||
public/
|
||||
.deploy*/
|
3
.vscode/extensions.json
vendored
Normal file
3
.vscode/extensions.json
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"recommendations": []
|
||||
}
|
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"compile-hero.disable-compile-files-on-did-save-code": false
|
||||
}
|
22
CHANGELOG.md
Normal file
22
CHANGELOG.md
Normal file
@ -0,0 +1,22 @@
|
||||
## [0.0.2-0](https://e.coding.net/Defectink/blog/blog/compare/de59640a4b9a7c779340ceb28000dd0e80f87ac1...v0.0.2-0) (2020-12-31)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* 修复一篇文章 Front-matter 出错 ([4506a88](https://e.coding.net/Defectink/blog/blog/commits/4506a882ee74a77424bac7980d4275948d14ef8a))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **更新文章:** 更新[构造函数与绑定this] ([0629a61](https://e.coding.net/Defectink/blog/blog/commits/0629a6144701050dfba33a462a549f1e78de6143))
|
||||
* **更新文章:** ajax入门 ([de59640](https://e.coding.net/Defectink/blog/blog/commits/de59640a4b9a7c779340ceb28000dd0e80f87ac1))
|
||||
* **更新文章:** javaScript 的类 ([784eda3](https://e.coding.net/Defectink/blog/blog/commits/784eda3a9f2eb8a221c11cba0ba27dc22f4c71de))
|
||||
* **添加changelog:** 使用 commit 规范 ([d0b704a](https://e.coding.net/Defectink/blog/blog/commits/d0b704ab8c0559c739283d4885c7bc926727d3e0))
|
||||
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
* **添加changelog:** 修改了npm源
|
||||
|
||||
|
||||
|
12
Dockerfile
Normal file
12
Dockerfile
Normal file
@ -0,0 +1,12 @@
|
||||
FROM node:15.0.1-alpine as builder
|
||||
WORKDIR /root
|
||||
COPY ./ ./
|
||||
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
|
||||
&& apk update \
|
||||
&& apk upgrade \
|
||||
&& apk add --no-cache yarn \
|
||||
&& npm install \
|
||||
&& npm run dev
|
||||
|
||||
FROM nginx:alpine
|
||||
COPY --from=builder /root/public/ /usr/share/nginx/html
|
33
Gulpfile.js
Normal file
33
Gulpfile.js
Normal file
@ -0,0 +1,33 @@
|
||||
const { series, parallel } = require('gulp');
|
||||
const { src, dest } = require('gulp');
|
||||
const cleanCSS = require('gulp-clean-css');
|
||||
const htmlmin = require('gulp-htmlmin');
|
||||
const uglify = require('gulp-uglify-es').default;
|
||||
const htmlclean = require('gulp-htmlclean');
|
||||
|
||||
function html() {
|
||||
return src('./public/**/*.html')
|
||||
.pipe(htmlclean())
|
||||
.pipe(htmlmin({
|
||||
collapseWhitespace: true,
|
||||
removeComments: true,
|
||||
minifyJS: true,
|
||||
minifyCSS: true,
|
||||
minifyURLs: true
|
||||
}))
|
||||
.pipe(dest('./public'))
|
||||
};
|
||||
|
||||
function css() {
|
||||
return src('./public/**/*.css')
|
||||
.pipe(cleanCSS())
|
||||
.pipe(dest('./public'))
|
||||
};
|
||||
|
||||
function js() {
|
||||
return src('public/**/*.js')
|
||||
.pipe(uglify())
|
||||
.pipe(dest('./public'))
|
||||
}
|
||||
|
||||
exports.default = parallel(html, css, js);
|
964
_config.fluid.yml
Normal file
964
_config.fluid.yml
Normal file
@ -0,0 +1,964 @@
|
||||
#---------------------------
|
||||
# Hexo Theme Fluid
|
||||
# Author: Fluid-dev
|
||||
# Github: https://github.com/fluid-dev/hexo-theme-fluid
|
||||
#
|
||||
# 配置指南: https://hexo.fluid-dev.com/docs/guide/
|
||||
# 你可以从指南中获得更详细的说明
|
||||
#
|
||||
# Guide: https://hexo.fluid-dev.com/docs/en/guide/
|
||||
# You can get more detailed help from the guide
|
||||
#---------------------------
|
||||
|
||||
|
||||
#---------------------------
|
||||
# 全局
|
||||
# Global
|
||||
#---------------------------
|
||||
|
||||
# 用于浏览器标签的图标
|
||||
# Icon for browser tab
|
||||
favicon: /images/img/favicon.webp
|
||||
|
||||
# 用于苹果设备的图标
|
||||
# Icon for Apple touch
|
||||
apple_touch_icon: /images/img/apple-touch-icon.webp
|
||||
|
||||
# 浏览器标签页中的标题分隔符,效果: 文章名 - 站点名
|
||||
# Title separator in browser tab, eg: article - site
|
||||
title_join_string: " - "
|
||||
|
||||
# 强制所有链接升级为 HTTPS(适用于图片等资源出现 HTTP 混入报错)
|
||||
# Force all links to be HTTPS (applicable to HTTP mixed error)
|
||||
force_https: false
|
||||
|
||||
# 代码块的增强配置
|
||||
# Enhancements to code blocks
|
||||
code:
|
||||
# 是否开启复制代码的按钮
|
||||
# Enable copy code button
|
||||
copy_btn: true
|
||||
|
||||
# 代码高亮
|
||||
# Code highlight
|
||||
highlight:
|
||||
enable: true
|
||||
|
||||
# 代码块是否显示行号
|
||||
# If true, the code block display line numbers
|
||||
line_number: false
|
||||
|
||||
# 实现高亮的库,对应下面的设置
|
||||
# Highlight library
|
||||
# Options: highlightjs | prismjs
|
||||
lib: "highlightjs"
|
||||
|
||||
highlightjs:
|
||||
# 在链接中挑选 style 填入
|
||||
# Select a style in the link
|
||||
# See: https://highlightjs.org/static/demo/
|
||||
style: "Github Gist"
|
||||
|
||||
# 是否根据 style 改变代码背景色(如果 style 是深色背景别忘了开启此项)
|
||||
# If true, the code background will change color based on the style (If style has a dark background, don't forget to true)
|
||||
bg_color: false
|
||||
|
||||
prismjs:
|
||||
# 在下方链接页面右侧的圆形按钮挑选 style 填入,也可以直接填入 css 链接
|
||||
# Select the style button on the right side of the link page, you can also set the CSS link
|
||||
# See: https://prismjs.com/
|
||||
style: "default"
|
||||
|
||||
# 设为 true 高亮将本地静态生成(并只支持部分 prismjs 插件),设为 false 高亮将在浏览器通过 js 生成
|
||||
# If true, it will be generated locally (but some prismjs plugins are not supported). If false, it will be generated via JS in the browser
|
||||
preprocess: true
|
||||
|
||||
# 一些好玩的功能
|
||||
# Some fun features
|
||||
fun_features:
|
||||
# 为 subtitle 添加打字机效果
|
||||
# Typing animation for subtitle
|
||||
typing:
|
||||
enable: true
|
||||
|
||||
# 打印速度,数字越大越慢
|
||||
# Typing speed, the larger the number, the slower
|
||||
typeSpeed: 70
|
||||
|
||||
# 游标字符
|
||||
# Cursor character
|
||||
cursorChar: "❤"
|
||||
|
||||
# 是否循环播放效果
|
||||
# If true, loop animation
|
||||
loop: false
|
||||
|
||||
# 为文章内容中的标题添加锚图标
|
||||
# Add an anchor icon to the title on the post page
|
||||
anchorjs:
|
||||
enable: true
|
||||
element: h1,h2,h3,h4,h5,h6
|
||||
placement: right
|
||||
# Options: hover | always | touch
|
||||
visible: hover
|
||||
# Option:§ | # | ❡
|
||||
icon: ""
|
||||
|
||||
# 加载进度条
|
||||
# Progress bar when loading
|
||||
progressbar:
|
||||
enable: true
|
||||
height_px: 3
|
||||
color: "#29d"
|
||||
# See: https://github.com/rstacruz/nprogress
|
||||
options: { showSpinner: false, trickleSpeed: 100 }
|
||||
|
||||
# 主题暗色模式,开启后菜单中会出现切换按钮,用户浏览器会存储切换选项,并且会遵循 prefers-color-scheme 自动切换
|
||||
# Theme dark mode. If enable, a switch button will appear on the menu, each of the visitor's browser will store his switch option
|
||||
dark_mode:
|
||||
enable: true
|
||||
# 默认的选项(当用户手动切换后则不再按照默认模式),选择 `auto` 会优先遵循 prefers-color-scheme,其次按用户本地时间 18 点到次日 6 点之间进入暗色模式
|
||||
# Default option (when the visitor switches manually, the default mode is no longer followed), choosing `auto` will give priority to prefers-color-scheme, and then enter the dark mode from 18:00 to 6:00 in the visitor’s local time
|
||||
# Options: auto | light | dark
|
||||
default: auto
|
||||
|
||||
# 主题颜色配置,其他不生效的地方请使用自定义 css 解决,配色可以在下方链接中获得启发
|
||||
# Theme color, please use custom CSS to solve other colors, color schema can be inspired by the links below
|
||||
# See: https://www.webdesignrankings.com/resources/lolcolors/
|
||||
color:
|
||||
# body 背景色
|
||||
# Color of body background
|
||||
body_bg_color: "#eee"
|
||||
# 暗色模式下的 body 背景色,下同
|
||||
# Color in dark mode, the same below
|
||||
body_bg_color_dark: "#181c27"
|
||||
|
||||
# 顶部菜单背景色
|
||||
# Color of navigation bar background
|
||||
navbar_bg_color: "#9DC8C8"
|
||||
navbar_bg_color_dark: "#1f3144"
|
||||
|
||||
# 顶部菜单字体色
|
||||
# Color of navigation bar text
|
||||
navbar_text_color: "#fff"
|
||||
navbar_text_color_dark: "#d0d0d0"
|
||||
|
||||
# 全局字体色
|
||||
# Color of global text
|
||||
text_color: "#3c4858"
|
||||
text_color_dark: "#c4c6c9"
|
||||
|
||||
# 全局次级字体色(摘要、简介等位置)
|
||||
# Color of global secondary text (excerpt, introduction, etc.)
|
||||
sec_text_color: "#718096"
|
||||
sec_text_color_dark: "#a7a9ad"
|
||||
|
||||
# 文章正文字体色
|
||||
# Color of post text
|
||||
post_text_color: "#2c3e50"
|
||||
post_text_color_dark: "#c4c6c9"
|
||||
|
||||
# 文章正文字体色(h1 h2 h3...)
|
||||
# Color of Article heading (h1 h2 h3...)
|
||||
post_heading_color: "#1a202c"
|
||||
post_heading_color_dark: "#c4c6c9"
|
||||
|
||||
# 文章超链接字体色
|
||||
# Color of post link
|
||||
post_link_color: "#0366d6"
|
||||
post_link_color_dark: "#1589e9"
|
||||
|
||||
# 超链接悬浮时字体色
|
||||
# Color of link when hovering
|
||||
link_hover_color: "#30a9de"
|
||||
link_hover_color_dark: "#30a9de"
|
||||
|
||||
# 超链接悬浮背景色
|
||||
# Color of link background when hovering
|
||||
link_hover_bg_color: "#f8f9fa"
|
||||
link_hover_bg_color_dark: "#364151"
|
||||
|
||||
# 主面板背景色
|
||||
# Color of main board
|
||||
board_color: "#fff"
|
||||
board_color_dark: "#252d38"
|
||||
|
||||
# 主题字体配置
|
||||
# Font
|
||||
font:
|
||||
font_size: 16px
|
||||
font_family:
|
||||
code_font_size: 85%
|
||||
|
||||
# 指定自定义 .js 文件路径,支持列表;路径是相对 source 目录,如 /js/custom.js 对应存放目录 source/js/custom.js
|
||||
# Specify the path of your custom js file, support list. The path is relative to the source directory, such as `/js/custom.js` corresponding to the directory `source/js/custom.js`
|
||||
custom_js: /js/xfy.js
|
||||
|
||||
# 指定自定义 .css 文件路径,用法和 custom_js 相同
|
||||
# The usage is the same as custom_js
|
||||
custom_css: /css/xfy.css
|
||||
|
||||
# 自定义底部 HTML 内容(位于 footer 上方),注意不要和 `post: custom` 配置冲突
|
||||
# Customize the HTML content at the bottom (located above the footer), be careful not to conflict with `post: custom`
|
||||
custom_html: ''
|
||||
|
||||
# 网页访问统计
|
||||
# Analysis of website visitors
|
||||
web_analytics: # 网页访问统计
|
||||
enable: false
|
||||
|
||||
# 百度统计的 Key,值需要获取下方链接中 `hm.js?` 后边的字符串
|
||||
# Baidu analytics, get the string behind `hm.js?`
|
||||
# See: https://tongji.baidu.com/sc-web/10000033910/home/site/getjs?siteId=13751376
|
||||
baidu:
|
||||
|
||||
# Google 统计的 Tracking ID
|
||||
# Google analytics, set Tracking ID
|
||||
# See: https://developers.google.com/analytics/devguides/collection/analyticsjs
|
||||
google:
|
||||
|
||||
# Google gtag.js 的媒体资源 ID
|
||||
# Google gtag.js GA_MEASUREMENT_ID
|
||||
# See: https://developers.google.com/analytics/devguides/collection/gtagjs/
|
||||
gtag:
|
||||
|
||||
# 腾讯统计的 H5 App ID,开启高级功能才有cid
|
||||
# Tencent analytics, set APP ID
|
||||
# See: https://mta.qq.com/h5/manage/ctr_app_manage
|
||||
tencent:
|
||||
sid:
|
||||
cid:
|
||||
|
||||
# 51.la 站点统计 ID
|
||||
# 51.la analytics
|
||||
# See: https://www.51.la/user/site/index
|
||||
woyaola: # 51.la 站点统计 ID,参见
|
||||
|
||||
# 友盟/cnzz 站点统计 web_id
|
||||
# cnzz analytics
|
||||
# See: https://web.umeng.com/main.php?c=site&a=show
|
||||
cnzz:
|
||||
|
||||
# LeanCloud 计数统计,可用于 PV UV 展示,如果 `web_analytics: enable` 没有开启,PV UV 展示只会查询不会增加
|
||||
# LeanCloud count statistics, which can be used for PV UV display. If `web_analytics: enable` is false, PV UV display will only query and not increase
|
||||
leancloud:
|
||||
app_id:
|
||||
app_key:
|
||||
# REST API 服务器地址,国际版不填
|
||||
# Only the Chinese mainland users need to set
|
||||
server_url:
|
||||
|
||||
# 对页面中的图片进行懒加载处理,可见范围外的图片不会加载
|
||||
# Lazy loading of images on the page
|
||||
lazyload:
|
||||
enable: true
|
||||
# 懒加载仅对文章页生效,开启后如果自定义页面需要使用,可以在 Front-matter 里指定 `lazyload: true`
|
||||
# If true, only enable lazyload on the post page. For custom pages, you can set 'lazyload: true' in front-matter
|
||||
onlypost: false
|
||||
|
||||
# 主题版本相关
|
||||
# Theme version
|
||||
version:
|
||||
# 每次生成页面后,检测主题是否为最新版本
|
||||
# If true, check whether Fluid is the latest version after hexo generate
|
||||
check: false
|
||||
|
||||
|
||||
#---------------------------
|
||||
# 页头
|
||||
# Header
|
||||
#---------------------------
|
||||
|
||||
# 导航栏的相关配置
|
||||
# Navigation bar
|
||||
navbar:
|
||||
# 导航栏左侧的标题,为空则按 hexo config 中 `title` 显示
|
||||
# The title on the left side of the navigation bar. If empty, it is based on `title` in hexo config
|
||||
blog_title:
|
||||
|
||||
# 导航栏毛玻璃特效,实验性功能,可能会造成页面滚动掉帧和抖动,部分浏览器不支持会自动不生效
|
||||
# Navigation bar frosted glass special animation. It is an experimental feature
|
||||
ground_glass:
|
||||
enable: true
|
||||
|
||||
# 模糊像素,只能为数字,数字越大模糊度越高
|
||||
# Number of blurred pixel. the larger the number, the higher the blur
|
||||
px: 3
|
||||
|
||||
# 不透明度,数字越大透明度越低,注意透明过度可能看不清菜单字体
|
||||
# Ratio of opacity, 1.0 is completely opaque
|
||||
# available: 0 - 1.0
|
||||
alpha: 0.7
|
||||
|
||||
# 导航栏菜单,可自行增减,key 用来关联 languages/*.yml,如不存在关联则显示 key 本身的值;icon 是 css class,可以省略;增加 name 可以强制显示指定名称
|
||||
# Navigation bar menu. `key` is used to associate languages/*.yml. If there is no association, the value of `key` itself will be displayed; if `icon` is a css class, it can be omitted; adding `name` can force the display of the specified name
|
||||
menu:
|
||||
# - { key: 'home', link: '/', icon: 'iconfont icon-home-fill' }
|
||||
# - {
|
||||
# key: '索引',
|
||||
# icon: 'iconfont icon-books',
|
||||
# submenu: [
|
||||
# { key: 'category', link: '/categories/', icon: 'iconfont icon-category-fill' },
|
||||
# { key: 'tag', link: '/tags/', icon: 'iconfont icon-tags-fill' }
|
||||
# ]
|
||||
# }
|
||||
# - { key: 'archive', link: '/archives/', icon: 'iconfont icon-archive-fill' }
|
||||
# - { key: 'about', link: '/about/', icon: 'iconfont icon-user-fill' }
|
||||
# - { key: '小伙伴', link: '/links/', icon: 'iconfont icon-link-fill' }
|
||||
# - { key: 'PGP', link: '/pgp/', icon: 'iconfont icon-clipcheck' }
|
||||
- { key: '🏠 首页', link: '/', icon: '' }
|
||||
- {
|
||||
key: '📕 索引',
|
||||
icon: '',
|
||||
submenu: [
|
||||
{ key: '🎁 分类 ', link: '/categories/', icon: '' },
|
||||
{ key: '🎐 标签', link: '/tags/', icon: '' }
|
||||
]
|
||||
}
|
||||
- { key: '📂 归档', link: '/archives/', icon: '' }
|
||||
- { key: '🎃 关于', link: '/about/', icon: '' }
|
||||
- { key: '🙆♀️ 小伙伴', link: '/links/', icon: '' }
|
||||
- { key: '🔐 PGP', link: '/pgp/', icon: '' }
|
||||
|
||||
# 搜索功能,基于 hexo-generator-search 插件,若已安装其他搜索插件请关闭此功能,以避免生成多余的索引文件
|
||||
# Search feature, based on hexo-generator-search. If you have installed other search plugins, please disable this feature to avoid generating redundant index files
|
||||
search:
|
||||
enable: true
|
||||
# 搜索索引文件的路径,可以是相对路径或外站的绝对路径
|
||||
# Path for search index file, it can be a relative path or an absolute path
|
||||
path: /xml/local-search.xml
|
||||
|
||||
# 文件生成在本地的位置,必须是相对路径
|
||||
# The location where the index file is generated locally, it must be a relative location
|
||||
generate_path: /xml/local-search.xml
|
||||
|
||||
# 搜索的范围
|
||||
# Search field
|
||||
# Options: post | page | all
|
||||
field: post
|
||||
|
||||
# 搜索是否扫描正文
|
||||
# If true, search will scan the post content
|
||||
content: true
|
||||
|
||||
# 首屏图片的相关配置
|
||||
# Config of the big image on the first screen
|
||||
banner:
|
||||
# 视差滚动,图片与板块会随着屏幕滚动产生视差效果
|
||||
# Scrolling parallax
|
||||
parallax: true
|
||||
|
||||
# 图片最小的宽高比,以免图片两边被过度裁剪,适用于移动端竖屏时,如需关闭设为 0
|
||||
# Minimum ratio of width to height, applicable to the vertical screen of mobile device, if you need to close it, set it to 0
|
||||
width_height_ratio: 1.0
|
||||
|
||||
# 向下滚动的箭头
|
||||
# Scroll down arrow
|
||||
scroll_down_arrow:
|
||||
enable: true
|
||||
|
||||
# 头图高度不小于指定比例,才显示箭头
|
||||
# Only the height of the banner image is greater than the ratio, the arrow is displayed
|
||||
# Available: 0 - 100
|
||||
banner_height_limit: 90
|
||||
|
||||
# 翻页后自动滚动
|
||||
# Auto scroll after page turning
|
||||
scroll_after_turning_page: true
|
||||
|
||||
# 向顶部滚动的箭头
|
||||
# Scroll top arrow
|
||||
scroll_top_arrow:
|
||||
enable: true
|
||||
|
||||
|
||||
#---------------------------
|
||||
# 页脚
|
||||
# Footer
|
||||
#---------------------------
|
||||
footer:
|
||||
# 页脚第一行文字的 HTML,建议保留 Fluid 的链接,用于向更多人推广本主题
|
||||
# HTML of the first line of the footer, it is recommended to keep the Fluid link to promote this theme to more people
|
||||
content: '
|
||||
<a href="https://hexo.io" target="_blank" rel="nofollow noopener"><span>Hexo</span></a>
|
||||
<i class="iconfont icon-love"></i>
|
||||
<a href="https://github.com/fluid-dev/hexo-theme-fluid" target="_blank" rel="nofollow noopener"><span>Fluid</span></a>
|
||||
'
|
||||
|
||||
# 展示网站的 PV、UV 统计数
|
||||
# Display website PV and UV statistics
|
||||
statistics:
|
||||
enable: false
|
||||
|
||||
# 统计数据来源,如果使用 leancloud 需要设置 `web_analytics: leancloud` 中的参数;如果使用 busuanzi 可能会有请求失败的情况
|
||||
# Data source. If use leancloud, you need to set the parameter in `web_analytics: leancloud`
|
||||
# Options: busuanzi | leancloud
|
||||
source: "busuanzi"
|
||||
|
||||
# 页面显示的文本,{}是数字的占位符(必须包含),下同
|
||||
# Displayed text, {} is a placeholder for numbers (must be included), the same below
|
||||
pv_format: "总访问量 {} 次"
|
||||
uv_format: "总访客数 {} 人"
|
||||
|
||||
# 国内大陆服务器的备案信息
|
||||
# For Chinese mainland website policy, other areas keep disable
|
||||
beian:
|
||||
enable: true
|
||||
# ICP证号
|
||||
icp_text: 皖ICP备17017808号
|
||||
# 公安备案号,不填则只显示ICP
|
||||
police_text:
|
||||
# 公安备案的编号,用于URL跳转查询
|
||||
police_code: 17017808
|
||||
# 公安备案的图片. 为空时不显示备案图片
|
||||
police_icon: /img/police_beian.webp
|
||||
|
||||
|
||||
#---------------------------
|
||||
# 首页
|
||||
# Home Page
|
||||
#---------------------------
|
||||
index:
|
||||
# 首页 Banner 头图,可以是相对路径或绝对路径,以下相同
|
||||
# Path of Banner image, can be a relative path or an absolute path, the same on other pages
|
||||
banner_img: /images/img/index.webp
|
||||
|
||||
# 头图高度,屏幕百分比
|
||||
# Height ratio of banner image
|
||||
# Available: 0 - 100
|
||||
banner_img_height: 90
|
||||
|
||||
# 头图黑色蒙版的不透明度,available: 0 - 1.0, 1 是完全不透明
|
||||
# Opacity of the banner mask, 1.0 is completely opaque
|
||||
# Available: 0 - 1.0
|
||||
banner_mask_alpha: 0.3
|
||||
|
||||
# 首页副标题的独立设置
|
||||
# Independent config of home page subtitle
|
||||
slogan:
|
||||
enable: true
|
||||
|
||||
# 为空则按 hexo config.subtitle 显示
|
||||
# If empty, text based on `subtitle` in hexo config
|
||||
text:
|
||||
|
||||
# 通过 API 接口作为首页副标题的内容,必须返回的是 JSON 格式,如果请求失败则按 text 字段显示,该功能必须先开启 typing 打字机功能
|
||||
# Subtitle of the homepage through the API, must be returned a JSON. If the request fails, it will be displayed in `text` value. This feature must first enable the typing animation
|
||||
api:
|
||||
enable: false
|
||||
|
||||
# 请求地址
|
||||
# Request url
|
||||
url: ""
|
||||
|
||||
# 请求方法
|
||||
# Request method
|
||||
# Available: GET | POST | PUT
|
||||
method: "GET"
|
||||
|
||||
# 请求头
|
||||
# Request headers
|
||||
headers: {}
|
||||
|
||||
# 从请求结果获取字符串的取值字段,最终必须是一个字符串,例如返回结果为 {"data": {"author": "fluid", "content": "An elegant theme"}}, 则取值字段为 ['data', 'content'];如果返回是列表则自动选择第一项
|
||||
# The value field of the string obtained from the response. For example, the response content is {"data": {"author": "fluid", "content": "An elegant theme"}}, the expected `keys: ['data','content']`; if the return is a list, the first item is automatically selected
|
||||
keys: []
|
||||
|
||||
# 自动截取文章摘要
|
||||
# Auto extract post
|
||||
auto_excerpt:
|
||||
enable: true
|
||||
|
||||
# 打开文章的标签方式
|
||||
# The browser tag to open the post
|
||||
# Available: _blank | _self
|
||||
post_url_target: _self
|
||||
|
||||
# 是否显示文章信息(时间、分类、标签)
|
||||
# Meta information of post
|
||||
post_meta:
|
||||
date: true
|
||||
category: true
|
||||
tag: true
|
||||
|
||||
# 文章通过 sticky 排序后,在首页文章标题前显示图标
|
||||
# If the posts are sorted by `sticky`, an icon is displayed in front of the post title
|
||||
post_sticky:
|
||||
enable: true
|
||||
icon: "iconfont icon-top"
|
||||
|
||||
|
||||
#---------------------------
|
||||
# 文章页
|
||||
# Post Page
|
||||
#---------------------------
|
||||
post:
|
||||
banner_img: /images/img/post.webp
|
||||
banner_img_height: 75
|
||||
banner_mask_alpha: 0.3
|
||||
|
||||
# 文章在首页的默认封面图,当没有指定 index_img 时会使用该图片,若两者都为空则不显示任何图片
|
||||
# Path of the default post cover when `index_img` is not set. If both are empty, no image will be displayed
|
||||
default_index_img:
|
||||
|
||||
# 文章标题下方的元信息
|
||||
# Meta information below title
|
||||
meta:
|
||||
# 作者,优先根据 front-matter 里 author 字段,其次是 hexo 配置中 author 值
|
||||
# Author, based on `author` field in front-matter, if not set, based on `author` value in hexo config
|
||||
author:
|
||||
enable: true
|
||||
|
||||
# 文章日期,优先根据 front-matter 里 date 字段,其次是 md 文件日期
|
||||
# Post date, based on `date` field in front-matter, if not set, based on create date of .md file
|
||||
date:
|
||||
enable: true
|
||||
# 格式参照 ISO-8601 日期格式化
|
||||
# ISO-8601 date format
|
||||
# See: http://momentjs.cn/docs/#/parsing/string-format/
|
||||
format: "LL a"
|
||||
|
||||
# 字数统计
|
||||
# Word count
|
||||
wordcount:
|
||||
enable: true
|
||||
# 显示的文本,{}是数字的占位符(必须包含),下同
|
||||
# Displayed text, {} is a placeholder for numbers (must be included), the same below
|
||||
format: "{} 字"
|
||||
|
||||
# 估计阅读全文需要的时长
|
||||
# Estimate the time required to read the full text
|
||||
min2read:
|
||||
enable: true
|
||||
format: "{} 分钟"
|
||||
# 每分钟阅读多少字,如果是技术文章,建议降低
|
||||
# Words read per minute
|
||||
words: 100
|
||||
|
||||
# 浏览量计数
|
||||
# Number of visits
|
||||
views:
|
||||
enable: false
|
||||
# 统计数据来源
|
||||
# Data Source
|
||||
# Options: busuanzi | leancloud
|
||||
source: "busuanzi"
|
||||
format: "{} 次"
|
||||
|
||||
# 在文章开头显示文章更新时间,该时间默认是 md 文件更新时间,可通过 front-matter 中 `updated` 手动指定(和 date 一样格式)
|
||||
# Update date is displayed at the beginning of the post. The default date is the update date of the md file, which can be manually specified by `updated` in front-matter (same format as date)
|
||||
updated:
|
||||
enable: true
|
||||
|
||||
# 描述文字
|
||||
# Descriptive text before date
|
||||
content: 本文最后水于:
|
||||
|
||||
# 是否使用相对时间表示,比如:"3 天前"
|
||||
# If true, it will be a relative time, such as: "3 days ago"
|
||||
relative: false
|
||||
|
||||
# 文章右侧目录
|
||||
# Table of contents (TOC)
|
||||
toc:
|
||||
enable: true
|
||||
# 目录会选择这些节点作为标题
|
||||
# TOC will select these nodes as headings
|
||||
headingSelector: "h1,h2,h3,h4,h5,h6"
|
||||
# 层级的折叠深度,0 是全部折叠,大于 0 后如果存在下级标题则默认展开
|
||||
# Collapse depth. If 0, all headings collapsed. If greater than 0, it will be expanded by default if there are sub headings
|
||||
collapseDepth: 3
|
||||
|
||||
# 版权声明,会显示在每篇文章的结尾
|
||||
# Copyright, will be displayed at the end of each post
|
||||
copyright:
|
||||
enable: true
|
||||
content: '<a href="https://zh.wikipedia.org/wiki/Wikipedia:CC_BY-SA_3.0%E5%8D%8F%E8%AE%AE%E6%96%87%E6%9C%AC" rel="nofollow noopener">CC BY-SA 3.0❤</a> '
|
||||
|
||||
# 文章底部上一篇下一篇功能
|
||||
# Link to previous/next post
|
||||
prev_next:
|
||||
enable: true
|
||||
|
||||
# 文章底部自定义区域(位于 footer 上方),支持 HTML,可插入赞赏码、公众号这类内容内容
|
||||
# Custom content at the bottom of the post page (located above the footer)
|
||||
custom:
|
||||
enable: false
|
||||
content: '<img src="https://octodex.github.com/images/jetpacktocat.png" class="rounded mx-auto d-block mt-5" style="width:150px; height:150px;">'
|
||||
|
||||
# 文章图片可点击放大
|
||||
# Zoom feature of images
|
||||
image_zoom:
|
||||
enable: true
|
||||
|
||||
# 脚注语法,会在文章底部生成脚注,如果 Markdown 渲染器本身支持,则建议关闭,否则可能会冲突
|
||||
# Support footnote syntax, footnotes will be generated at the bottom of the post page. If the Markdown renderer itself supports it, please disable it, otherwise it may conflict
|
||||
footnote:
|
||||
enable: true
|
||||
# 脚注的节标题,也可以在 front-matter 中通过 `footnote: <h2>Reference</h2>` 这种形式修改单独页面的 header
|
||||
# The section title of the footnote, you can also modify the header of a single page in the form of `footnote: <h2>Reference</h2>` in front-matter
|
||||
header: ''
|
||||
|
||||
# 数学公式,开启之前需要更换 Markdown 渲染器,否则复杂公式会有兼容问题,具体请见:https://hexo.fluid-dev.com/docs/guide/##latex-数学公式
|
||||
# Mathematical formula. If enable, you need to change the Markdown renderer, see: https://hexo.fluid-dev.com/docs/en/guide/#math
|
||||
math:
|
||||
# 开启后文章默认可用,自定义页面如需使用,需在 Front-matter 中指定 `math: true`
|
||||
# If you want to use math on the custom page, you need to set `math: true` in Front-matter
|
||||
enable: true
|
||||
|
||||
# 开启后,只有在文章 Front-matter 里指定 `math: true` 才会在文章页启动公式转换,以便在页面不包含公式时提高加载速度
|
||||
# If true, only set `math: true` in Front-matter will enable math, to load faster when the page does not contain math
|
||||
specific: true
|
||||
|
||||
# Options: mathjax | katex
|
||||
engine: mathjax
|
||||
|
||||
# 流程图,基于 mermaid-js,具体请见:https://hexo.fluid-dev.com/docs/guide/#mermaid-流程图
|
||||
# Flow chart, based on mermaid-js, see: https://hexo.fluid-dev.com/docs/en/guide/#mermaid
|
||||
mermaid:
|
||||
# 开启后文章默认可用,自定义页面如需使用,需在 Front-matter 中指定 `mermaid: true`
|
||||
# If you want to use mermaid on the custom page, you need to set `mermaid: true` in Front-matter
|
||||
enable: true
|
||||
|
||||
# 开启后,只有在文章 Front-matter 里指定 `mermaid: true` 才会在文章页启动公式转换,以便在页面不包含公式时提高加载速度
|
||||
# If true, only set `mermaid: true` in Front-matter will enable mermaid, to load faster when the page does not contain mermaid
|
||||
specific: false
|
||||
|
||||
# See: http://mermaid-js.github.io/mermaid/
|
||||
options: { theme: 'default' }
|
||||
|
||||
# 评论插件
|
||||
# Comment plugin
|
||||
comments:
|
||||
enable: true
|
||||
# 指定的插件,需要同时设置对应插件的必要参数
|
||||
# The specified plugin needs to set the necessary parameters at the same time
|
||||
# Options: utterances | disqus | gitalk | valine | waline | changyan | livere | remark42 | twikoo
|
||||
type: valine
|
||||
|
||||
#---------------------------
|
||||
# 评论插件
|
||||
# Comment plugins
|
||||
#
|
||||
# 开启评论需要先设置上方 `post: comments: enable: true`,然后根据 `type` 设置下方对应的评论插件参数
|
||||
# Enable comments need to be set `post: comments: enable: true`, then set the corresponding comment plugin parameters below according to `type`
|
||||
#---------------------------
|
||||
|
||||
# Utterances
|
||||
# 基于 GitHub Issues
|
||||
# Based on GitHub Issues
|
||||
# See: https://utteranc.es
|
||||
utterances:
|
||||
repo:
|
||||
issue_term: pathname
|
||||
label: utterances
|
||||
theme: github-light
|
||||
theme_dark: github-dark
|
||||
crossorigin: anonymous
|
||||
|
||||
# Disqus
|
||||
# 基于第三方的服务,国内用户直接使用容易被墙,建议配合 Disqusjs
|
||||
# Based on third-party service
|
||||
# See: https://disqus.com
|
||||
disqus:
|
||||
shortname: defectink
|
||||
# 以下为 Disqusjs 支持, 国内用户如果想使用 Disqus 建议配合使用
|
||||
# The following are Disqusjs configurations, please ignore if DisqusJS is not required
|
||||
# See: https://github.com/SukkaW/DisqusJS
|
||||
disqusjs: true
|
||||
apikey: uLPmTxSU1b8Ty8a8tpXZzlBl1NaURmrJFI5RDyIerCl38c7wqJhNDRwPypGaYe8x
|
||||
|
||||
# Gitalk
|
||||
# 基于 GitHub Issues
|
||||
# Based on GitHub Issues
|
||||
# See: https://github.com/gitalk/gitalk#options
|
||||
gitalk:
|
||||
clientID:
|
||||
clientSecret:
|
||||
repo:
|
||||
owner:
|
||||
admin: ['name']
|
||||
language: zh-CN
|
||||
labels: ['Gitalk']
|
||||
perPage: 10
|
||||
pagerDirection: last
|
||||
distractionFreeMode: false
|
||||
createIssueManually: true
|
||||
|
||||
# Valine
|
||||
# 基于 LeanCloud
|
||||
# Based on LeanCloud
|
||||
# See: https://valine.js.org/configuration.html
|
||||
valine:
|
||||
appid: dD9t7mcIBVzJWag5ez6GPy2v-MdYXbMMI
|
||||
appkey: bWG6pmKsEscrH4JjrpNNAAy6
|
||||
placeholder: 嘤嘤嘤???
|
||||
path: window.location.pathname
|
||||
avatar: retro
|
||||
meta: ['nick', 'mail', 'link']
|
||||
pageSize: 10
|
||||
lang: zh-CN
|
||||
highlight: true
|
||||
recordIP: false
|
||||
serverURLs:
|
||||
|
||||
# Waline
|
||||
# 一款从 Valine 衍生的带后端的评论插件
|
||||
# A comment plugin with backend derived from Valine
|
||||
# See: https://waline.js.org/
|
||||
waline:
|
||||
serverURL: ''
|
||||
placeholder: 说点什么
|
||||
path: window.location.pathname
|
||||
avatar: retro
|
||||
meta: ['nick', 'mail', 'link']
|
||||
pageSize: 10
|
||||
lang: zh-CN
|
||||
highlight: true
|
||||
avatarForce: false
|
||||
requiredFields: []
|
||||
emojiCDN: ''
|
||||
emojiMaps: {}
|
||||
|
||||
# 畅言 Changyan
|
||||
# 基于第三方的服务
|
||||
# Based on third-party service, insufficient support for regions outside China
|
||||
# http://changyan.kuaizhan.com
|
||||
changyan:
|
||||
appid: ''
|
||||
appkey: ''
|
||||
|
||||
# 来必力 Livere
|
||||
# 基于第三方的服务
|
||||
# Based on third-party service
|
||||
# See: https://www.livere.com
|
||||
livere:
|
||||
uid: ''
|
||||
|
||||
# Remark42
|
||||
# 需要自己运行后端服务
|
||||
# Need to run the backend service yourself
|
||||
# See: https://remark42.com
|
||||
remark42:
|
||||
host:
|
||||
site_id:
|
||||
max_shown_comments: 10
|
||||
locale: zh
|
||||
|
||||
# Twikoo
|
||||
# 基于腾讯云开发
|
||||
# Based on Tencent CloudBase
|
||||
# See: https://twikoo.js.org
|
||||
twikoo:
|
||||
env_id:
|
||||
|
||||
|
||||
#---------------------------
|
||||
# 归档页
|
||||
# Archive Page
|
||||
#---------------------------
|
||||
archive:
|
||||
banner_img: /images/img/Sensei_sakura.webp
|
||||
banner_img_height: 90
|
||||
banner_mask_alpha: 0.3
|
||||
subtitle:
|
||||
|
||||
|
||||
#---------------------------
|
||||
# 分类页
|
||||
# Category Page
|
||||
#---------------------------
|
||||
category:
|
||||
enable: true
|
||||
banner_img: /images/img/category.webp
|
||||
banner_img_height: 80
|
||||
banner_mask_alpha: 0.3
|
||||
subtitle:
|
||||
|
||||
# 单个分类中折叠展示文章数的最大值,超过限制会显示 More
|
||||
# The maximum number of posts in a single category. If the limit is exceeded, it will be displayed More
|
||||
post_limit: 10
|
||||
|
||||
# 排序字段,前面带减号是倒序,不带减号是正序,可选项:name | length
|
||||
# Sort field, with a minus sign is reverse order
|
||||
# Options: name | length
|
||||
order_by: "-length"
|
||||
|
||||
# 层级的折叠深度,0 是全部折叠,大于 0 后如果存在子分类则默认展开
|
||||
# Collapse depth. If 0, all posts collapsed. If greater than 0, it will be expanded by default if there are subcategories
|
||||
collapse_depth: 0
|
||||
|
||||
|
||||
#---------------------------
|
||||
# 标签页
|
||||
# Tag Page
|
||||
#---------------------------
|
||||
tag:
|
||||
enable: true
|
||||
banner_img: /images/img/tags.webp
|
||||
banner_img_height: 80
|
||||
banner_mask_alpha: 0.3
|
||||
subtitle:
|
||||
tagcloud:
|
||||
min_font: 15
|
||||
max_font: 30
|
||||
unit: px
|
||||
start_color: "#BBBBEE"
|
||||
end_color: "#337ab7"
|
||||
|
||||
|
||||
#---------------------------
|
||||
# 关于页
|
||||
# About Page
|
||||
#---------------------------
|
||||
about:
|
||||
enable: true
|
||||
banner_img: /images/img/about.webp
|
||||
banner_img_height: 90
|
||||
banner_mask_alpha: 0.3
|
||||
subtitle: 嘤嘤嘤
|
||||
avatar: /images/img/avatar.webp
|
||||
name: Defectink
|
||||
introduce: "!@#$%^&*"
|
||||
# 更多图标可从 https://hexo.fluid-dev.com/docs/icon/ 查找,`class` 代表图标的 css class,添加 `qrcode` 后,图标不再是链接而是悬浮二维码
|
||||
# More icons can be found from https://hexo.fluid-dev.com/docs/en/icon/ `class` is the css class of the icon. If adding `qrcode`, The icon is no longer a link, but a hovering QR code
|
||||
icons:
|
||||
- { class: 'iconfont icon-github-fill', link: 'https://github.com/DefectingCat' }
|
||||
- { class: 'iconfont icon-twitter-fill', link: 'https://twitter.com/Defect___' }
|
||||
- { class: 'iconfont icon-telegram-fill', link: 'https://t.me/Defectink' }
|
||||
- { class: 'iconfont icon-mail', link: 'mailto:i@defect.ink' }
|
||||
- { class: 'iconfont icon-wechat-fill', qrcode: '/images/img/qrcode.webp' }
|
||||
|
||||
|
||||
#---------------------------
|
||||
# 自定义页
|
||||
# Custom Page
|
||||
#
|
||||
# 通过 hexo new page 命令创建的页面
|
||||
# Custom Page through `hexo new page`
|
||||
#---------------------------
|
||||
page:
|
||||
banner_img: /images/img/post.webp
|
||||
banner_img_height: 90
|
||||
banner_mask_alpha: 0.3
|
||||
|
||||
|
||||
#---------------------------
|
||||
# 404页
|
||||
# 404 Page
|
||||
#---------------------------
|
||||
page404:
|
||||
enable: true
|
||||
banner_img: /images/img/Sensei_dark.webp
|
||||
banner_img_height: 100
|
||||
banner_mask_alpha: 0.3
|
||||
subtitle: "Page not found"
|
||||
|
||||
|
||||
#---------------------------
|
||||
# 友链页
|
||||
# Links Page
|
||||
#---------------------------
|
||||
links:
|
||||
enable: true
|
||||
banner_img: /images/img/friend.webp
|
||||
banner_img_height: 90
|
||||
banner_mask_alpha: 0.3
|
||||
subtitle: 小伙伴
|
||||
# 友链的成员项
|
||||
# Member item of page
|
||||
items:
|
||||
- {
|
||||
title: '非常医学生',
|
||||
intro: '以医德观人生。',
|
||||
link: 'https://www.cunzher.cn',
|
||||
image: 'https://ypcdnsave.cunzher.cn/img/logo.png'
|
||||
}
|
||||
- {
|
||||
title: 'Zeroの日常',
|
||||
intro: '嘤嘤嘤',
|
||||
link: 'https://mikuac.com/',
|
||||
image: 'https://mikuac.com/images/zero.png'
|
||||
}
|
||||
- {
|
||||
title: 'Feng''blog',
|
||||
intro: '嘤嘤嘤',
|
||||
link: 'https://1984n.win',
|
||||
image: 'https://cdn.v2ex.com/gravatar/bf7a5bd302ccc8021d13d77bd09c9310?s=100&r=g'
|
||||
}
|
||||
- {
|
||||
title: 'Locyoo',
|
||||
intro: '嘤嘤嘤',
|
||||
link: 'https://blog.locyoo.com',
|
||||
image: '/images/img/backup.webp'
|
||||
}
|
||||
- {
|
||||
title: '萌萌哒の柯基',
|
||||
intro: '仰望大佬的菜鸡〒▽〒',
|
||||
link: 'https://www.heroyf.club/',
|
||||
image: 'https://cdn.defectink.com/images/20200924163805.png'
|
||||
}
|
||||
|
||||
|
||||
#---------------------------
|
||||
# 以下是配置 JS CSS 等静态资源的 URL 前缀,可以自定义成 CDN 地址,
|
||||
# 默认的 jsDelivr CDN 可能在部分地区无法访问,如果需要修改,最好使用与默认配置相同的版本,以避免潜在的问题,
|
||||
# ** 如果你不知道如何设置,请不要做任何改动 **
|
||||
#
|
||||
# Here is the url prefix to configure the static assets. Set CDN addresses you want to customize.
|
||||
# Be aware that you would better use the same version as default ones to avoid potential problems.
|
||||
# DO NOT EDIT THE FOLLOWING SETTINGS UNLESS YOU KNOW WHAT YOU ARE DOING
|
||||
#---------------------------
|
||||
|
||||
static_prefix:
|
||||
# 内部静态
|
||||
# Internal static
|
||||
internal_js: /js
|
||||
internal_css: /css
|
||||
internal_img: /images/img
|
||||
|
||||
# 图标库,包含了大量社交类图标,主题依赖的不包含在内,因此可自行修改,详见 https://hexo.fluid-dev.com/docs/icon/
|
||||
# Icon library, which includes many social icons, does not include those theme dependent, so your can modify link by yourself. See: https://hexo.fluid-dev.com/docs/en/icon/
|
||||
iconfont: //at.alicdn.com/t/font_1736178_kmeydafke9r.css
|
||||
|
||||
anchor: https://cdn.jsdelivr.net/npm/anchor-js@4.3.0/
|
||||
|
||||
github_markdown: https://cdn.jsdelivr.net/npm/github-markdown-css@4.0.0/
|
||||
|
||||
jquery: https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/
|
||||
|
||||
bootstrap: https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/
|
||||
|
||||
highlightjs: https://cdn.jsdelivr.net/npm/highlight.js@10.4.0/
|
||||
|
||||
prismjs: https://cdn.jsdelivr.net/npm/prismjs@1.22.0/
|
||||
|
||||
tocbot: https://cdn.jsdelivr.net/npm/tocbot@4.12.0/dist/
|
||||
|
||||
typed: https://cdn.jsdelivr.net/npm/typed.js@2.0.11/lib/
|
||||
|
||||
fancybox: https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@3.5.7/dist/
|
||||
|
||||
nprogress: https://cdn.jsdelivr.net/npm/nprogress@0.2.0/
|
||||
|
||||
mathjax: https://cdn.jsdelivr.net/npm/mathjax@3.1.2/es5/
|
||||
|
||||
katex: https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/
|
||||
|
||||
busuanzi: https://busuanzi.ibruce.info/busuanzi/2.3/
|
||||
|
||||
clipboard: https://cdn.jsdelivr.net/npm/clipboard@2.0.6/dist/
|
||||
|
||||
mermaid: https://cdn.jsdelivr.net/npm/mermaid@8.8.3/dist/
|
||||
|
||||
valine: https://cdn.jsdelivr.net/npm/valine@1.4.14/dist/
|
||||
|
||||
waline: https://cdn.jsdelivr.net/npm/@waline/client@0.4.2/dist/
|
||||
|
||||
gitalk: https://cdn.jsdelivr.net/npm/gitalk@1.7.0/dist/
|
||||
|
||||
disqusjs: https://cdn.jsdelivr.net/npm/disqusjs@1.0/dist/
|
||||
|
||||
twikoo: https://cdn.jsdelivr.net/npm/twikoo@0.1.15/dist/
|
||||
|
||||
hint: /lib/hint/
|
136
_config.yml
Normal file
136
_config.yml
Normal file
@ -0,0 +1,136 @@
|
||||
# Hexo Configuration
|
||||
## Docs: https://hexo.io/docs/configuration.html
|
||||
## Source: https://github.com/hexojs/hexo/
|
||||
|
||||
# Site
|
||||
title: 🍭Defectink
|
||||
subtitle: '只要心还在跳'
|
||||
description: ''
|
||||
keywords:
|
||||
author: Defectink
|
||||
language: zh-CN
|
||||
timezone: ''
|
||||
|
||||
# URL
|
||||
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
|
||||
url: https://www.defectink.com
|
||||
root: /
|
||||
permalink: defect/:url.html
|
||||
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
|
||||
highlight:
|
||||
enable: false
|
||||
line_number: false
|
||||
auto_detect: false
|
||||
tab_replace: ''
|
||||
wrap: true
|
||||
hljs: false
|
||||
|
||||
# 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
|
||||
archive_generator:
|
||||
per_page: 0
|
||||
|
||||
# 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
|
||||
## Use post's date for updated date unless set in front-matter
|
||||
use_date_for_updated: false
|
||||
|
||||
# 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: fluid
|
||||
|
||||
# Deployment
|
||||
## Docs: https://hexo.io/docs/deployment.html
|
||||
deploy:
|
||||
- type: 'git'
|
||||
repo: git@github.com:DefectingCat/DefectingCat.github.io.git
|
||||
branch: gh-pages
|
||||
message: ❤
|
||||
- type: 'git'
|
||||
repo: git@e.coding.net:Defectink/blog/blog.git
|
||||
branch: gh-pages
|
||||
message: ❤
|
||||
|
||||
# feed
|
||||
feed:
|
||||
type:
|
||||
- atom
|
||||
- rss2
|
||||
path:
|
||||
- /xml/atom.xml
|
||||
- /xml/rss.xml
|
||||
limit: 20
|
||||
hub:
|
||||
content:
|
||||
content_limit: 140
|
||||
content_limit_delim: ' '
|
||||
order_by: -date
|
||||
icon: icon.png
|
||||
autodiscovery: true
|
||||
template:
|
||||
|
||||
# sitemap
|
||||
sitemap:
|
||||
path: /xml/sitemap.xml
|
||||
template: ./source/_data/sitemap_template.xml
|
||||
rel: false
|
||||
tags: true
|
||||
categories: true
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,3 +0,0 @@
|
||||
<!DOCTYPE html><html lang="zh-CN" data-default-color-scheme=""auto""><head><meta charset="UTF-8"><link rel="apple-touch-icon" sizes="76x76" href="/images/img/apple-touch-icon.webp"><link rel="icon" type="image/png" href="/images/img/favicon.webp"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,shrink-to-fit=no"><meta http-equiv="x-ua-compatible" content="ie=edge"><meta name="theme-color" content="#9DC8C8"><meta name="description" content=""><meta name="author" content="Defectink"><meta name="keywords" content=""><title>分类 - 实践 - 🍭Defectink</title><link rel="stylesheet" href="https://cdn.defectink.com/static/twitter-bootstrap/4.5.3/css/bootstrap.min.css"><link rel="stylesheet" href="//at.alicdn.com/t/font_1749284_ba1fz6golrf.css"><link rel="stylesheet" href="https://cdn.defectink.com/static/t/font_1736178_kmeydafke9r.css"><link rel="stylesheet" href="/css/main.css"><link rel="stylesheet" href="/css/xfy.css"><script src="/js/utils.js"></script><script src="/js/color-schema.js"></script><meta name="generator" content="Hexo 5.2.0"><link rel="alternate" href="/xml/atom.xml" title="🍭Defectink" type="application/atom+xml"><link rel="alternate" href="/xml/rss.xml" title="🍭Defectink" type="application/rss+xml"></head><body><header style="height:80vh"><nav id="navbar" class="navbar fixed-top navbar-expand-lg navbar-dark scrolling-navbar"><div class="container"><a class="navbar-brand" href="/"> <strong>🍭Defectink</strong> </a> <button id="navbar-toggler-btn" class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"><div class="animated-icon"><span></span><span></span><span></span></div></button><div class="collapse navbar-collapse" id="navbarSupportedContent"><ul class="navbar-nav ml-auto text-center"><li class="nav-item"><a class="nav-link" href="/">🏠 首页</a></li><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">📕 索引</a><div class="dropdown-menu" aria-labelledby="navbarDropdown"><a class="dropdown-item" href="/categories/">🎁 分类</a> <a class="dropdown-item" href="/tags/">🎐 标签</a></div></li><li class="nav-item"><a class="nav-link" href="/archives/">📂 归档</a></li><li class="nav-item"><a class="nav-link" href="/about/">🎃 关于</a></li><li class="nav-item"><a class="nav-link" href="/links/">🙆♀️ 小伙伴</a></li><li class="nav-item"><a class="nav-link" href="/pgp/">🔐 PGP</a></li><li class="nav-item" id="search-btn"><a class="nav-link" data-toggle="modal" data-target="#modalSearch"> <i class="iconfont icon-search"></i> </a></li><li class="nav-item" id="color-toggle-btn"><a class="nav-link" href="javascript:"> <i class="iconfont icon-dark" id="color-toggle-icon"></i> </a></li></ul></div></div></nav><div class="banner intro-2" id="background" parallax="true" style="background:url(/images/img/category.webp) no-repeat center center;background-size:cover"><div class="full-bg-img"><div class="mask flex-center" style="background-color:rgba(0,0,0,.3)"><div class="container page-header text-center fade-in-up"><span class="h2" id="subtitle"></span></div></div></div></div></header><main><div class="container nopadding-md"><div class="py-5" id="board"><div class="container"><div class="row"><div class="col-12 col-md-10 m-auto"><div class="list-group"><p class="h4">共计 13 篇文章</p><hr><p class="h5">2018</p><a href="/defect/hexo-again.html" class="list-group-item list-group-item-action"><span class="archive-post-title">想起来当年还折腾过hexo</span> <time style="float:right">06-29</time></a><p class="h5">2017</p><a href="/defect/hexo-and-github.html" class="list-group-item list-group-item-action"><span class="archive-post-title">Hexo and Github</span> <time style="float:right">09-14</time></a> <a href="/defect/hexo.html" class="list-group-item list-group-item-action"><span class="archive-post-title">hexo</span> <time style="float:right">08-30</time></a></div><nav aria-label="navigation"><span class="pagination" id="pagination"><a class="extend prev" rel="prev" href="/categories/%E5%AE%9E%E8%B7%B5/"><i class="iconfont icon-arrowleft"></i></a> <a class="page-number" href="/categories/%E5%AE%9E%E8%B7%B5/">1</a><span class="page-number current">2</span></span></nav><script>for (ele of document.getElementById("pagination").getElementsByTagName("a")) {
|
||||
ele.href += '#board';
|
||||
}</script></div></div></div></div></div></main><a id="scroll-top-button" href="#" role="button"><i class="iconfont icon-arrowup" aria-hidden="true"></i></a><div class="modal fade" id="modalSearch" tabindex="-1" role="dialog" aria-labelledby="ModalLabel" aria-hidden="true"><div class="modal-dialog modal-dialog-scrollable modal-lg" role="document"><div class="modal-content"><div class="modal-header text-center"><h4 class="modal-title w-100 font-weight-bold">搜索</h4><button type="button" id="local-search-close" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button></div><div class="modal-body mx-3"><div class="md-form mb-5"><input type="text" id="local-search-input" class="form-control validate"> <label data-error="x" data-success="v" for="local-search-input">关键词</label></div><div class="list-group" id="local-search-result"></div></div></div></div></div><footer class="text-center mt-5 py-3"><div class="footer-content"><a href="https://hexo.io" target="_blank" rel="nofollow noopener"><span>Hexo</span></a><i class="iconfont icon-love"></i> <a href="https://github.com/fluid-dev/hexo-theme-fluid" target="_blank" rel="nofollow noopener"><span>Fluid</span></a></div><div class="beian"><a href="http://beian.miit.gov.cn/" target="_blank" rel="nofollow noopener">皖ICP备17017808号</a></div></footer><script src="https://cdn.defectink.com/static/jquery/3.4.1/jquery.min.js"></script><script src="https://cdn.defectink.com/static/twitter-bootstrap/4.5.3/js/bootstrap.min.js"></script><script src="/js/debouncer.js"></script><script src="/js/main.js"></script><script src="/js/lazyload.js"></script><script defer="defer" src="https://cdn.defectink.com/static/clipboard.js/2.0.6/clipboard.min.js"></script><script src="/js/clipboard-use.js"></script><script src="/js/xfy.js"></script><script src="https://cdn.defectink.com/static/typed.js/2.0.11/typed.min.js"></script><script>var typed=new Typed("#subtitle",{strings:[" ","分类 - 实践 "],cursorChar:"❤",typeSpeed:70,loop:!1});typed.stop(),$(document).ready(function(){$(".typed-cursor").addClass("h2"),typed.start()})</script><script src="/js/local-search.js"></script><script>var path="/xml/local-search.xml",inputArea=document.querySelector("#local-search-input");inputArea.onclick=function(){searchFunc(path,"local-search-input","local-search-result"),this.onclick=null}</script></body></html>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
img{border-radius:.5rem;transition:all .5s;-webkit-transition:all .5;-ms-transition:all .5}img:hover{transition:all .5s;-webkit-transition:all .5s;-ms-transition:all .5s;transform:scale(1.05)}.markdown-body a{background-color:transparent;text-decoration:none;color:#00f4e8;transition:all .12s}.markdown-body li:hover{text-shadow:3px 3px 2px rgba(47,47,47,.341)}.markdown-body ol{counter-reset:xxx 0!important}.markdown-body ol li:before{content:counter(xxx,decimal) "."!important;counter-increment:xxx 1!important;position:absolute;font-family:'Comic Sans MS','Open Sans','Microsoft Yahei','Microsoft Yahei',-apple-system,sans-serif!important;color:#000;top:0;left:0;text-align:center;font-size:1.2em;opacity:.5;line-height:1.33;text-shadow:4px 4px 1px rgba(0,0,0,.1);-webkit-transition:.5s;transition:.5s}.markdown-body ol li:hover:before{-webkit-transform:scale(2);-ms-transform:scale(2);transform:scale(2);opacity:1;text-shadow:2px 2px 1px rgba(0,0,0,.1);-webkit-transition:.1s;transition:.1s}.markdown-body ol li{list-style:none;position:relative;padding:0 0 0 2.1em;margin:0 0 0 10px;text-shadow:0 0 0 rgba(0,0,0,.1);-webkit-transition:.12s;transition:.12s}.markdown-body ul li:before{position:absolute;content:'\2022';font-family:Arial;color:#000;top:0;left:0;text-align:center;font-size:1.5em;opacity:.5;line-height:1;text-shadow:4px 4px 1px rgba(0,0,0,.1);-webkit-transition:.5s;transition:.5s}.markdown-body ul li:hover:before{-webkit-transform:scale(2);-ms-transform:scale(2);transform:scale(2);opacity:1;text-shadow:2px 2px 1px rgba(0,0,0,.1);-webkit-transition:.1s;transition:.1s}.markdown-body ul li{list-style:none;position:relative;padding:0 0 0 1.5em;margin:0 0 0 10px;text-shadow:0 0 0 rgba(0,0,0,.1);-webkit-transition:.12s;transition:.12s}.note.note-warning{background-color:rgba(163,243,241,.631);border-color:#ff81c0!important}::selection{background:#a2f1f1;text-shadow:0 0 25px}.navbar .nav-item .nav-link{font-size:.9rem}.modal-dialog .modal-content{border-radius:.4rem}.markdown-body p>a>img,.markdown-body p>img{border-radius:.425rem}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{background:linear-gradient(to bottom,transparent 60%,rgba(189,202,219,.3) 0) no-repeat;width:auto;display:table;background-size:90%}.markdown-body h1,.markdown-body h2{padding-bottom:.3em;border-bottom:0 solid #eaecef!important}::-webkit-scrollbar{width:8px;background-color:transparent}::-webkit-scrollbar-thumb{background-color:#a9a9a9;border-radius:10px}.v[data-class=v] .vwrap .vedit{position:relative;padding-top:10px;background:no-repeat right bottom url(https://cdn.defectink.com/static/images/iloli.gif);background-size:20%}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Before Width: | Height: | Size: 1.7 KiB |
BIN
img/avatar.png
BIN
img/avatar.png
Binary file not shown.
Before Width: | Height: | Size: 5.6 KiB |
BIN
img/default.png
BIN
img/default.png
Binary file not shown.
Before Width: | Height: | Size: 34 KiB |
BIN
img/favicon.png
BIN
img/favicon.png
Binary file not shown.
Before Width: | Height: | Size: 4.6 KiB |
BIN
img/loading.gif
BIN
img/loading.gif
Binary file not shown.
Before Width: | Height: | Size: 17 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.2 KiB |
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
!function(n,o,t){function e(){$(".markdown-body pre").each((function(){const n=$(this);n.find("code.mermaid").length>0||n.append('<button class="copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i><span>Copy</span></button>')}));var n=new ClipboardJS(".copy-btn",{target:function(n){return n.previousElementSibling}});$(".copy-btn").addClass(function(){var n=$("div.hljs, pre");if(0===n.length)return"copy-btn-dark";var o=n.css("background-color").replace(/rgba*\(/,"").replace(")","").split(",");return.213*o[0]+.715*o[1]+.072*o[2]>127.5?"copy-btn-dark":"copy-btn-light"}()),n.on("success",(function(n){n.clearSelection();var o=n.trigger.outerHTML;n.trigger.innerHTML="Success",setTimeout((function(){n.trigger.outerHTML=o}),2e3)}))}var r=window.onload;window.onload=function(){r&&r(),e()}}(window,document);
|
@ -1 +0,0 @@
|
||||
!function(t,e){var r=e.documentElement;function o(t){try{return localStorage.getItem(t)}catch(t){return null}}function n(){var t=getComputedStyle(r).getPropertyValue("--color-mode");return"string"==typeof t?t.replace(/["'\s]/g,""):null}function a(){r.setAttribute("data-user-color-scheme",l()),function(t){try{localStorage.removeItem(t)}catch(t){}}("Fluid_Color_Scheme")}var c={dark:!0,light:!0};function l(){var t,e="string"==typeof(t=r.getAttribute("data-default-color-scheme"))?t.replace(/["'\s]/g,""):null;if(c[e])return e;if(e=n(),c[e])return e;var o=(new Date).getHours();return o>=18||o>=0&&o<=6?"dark":"light"}function i(n){var i=n||o("Fluid_Color_Scheme")||l();if(i===l())a();else{if(!c[i])return void a();r.setAttribute("data-user-color-scheme",i)}!function(t){if(c[t]){var r="icon-dark";t&&(r="icon-"+u[t]);var o=e.getElementById("color-toggle-icon");o?(o.setAttribute("class","iconfont "+r),o.setAttribute("data",u[t])):waitElementLoaded("color-toggle-icon",(function(){var o=e.getElementById("color-toggle-icon");o&&(o.setAttribute("class","iconfont "+r),o.setAttribute("data",u[t]))}))}}(i),function(r){t.REMARK42&&t.REMARK42.changeTheme(r);var o=e.querySelector("iframe");if(o){var n=t.UtterancesThemeLight;"dark"===r&&(n=t.UtterancesThemeDark);const e={type:"set-theme",theme:n};o.contentWindow.postMessage(e,"https://utteranc.es")}}(i)}var u={dark:"light",light:"dark"};function d(){var t=o("Fluid_Color_Scheme");if(c[t])t=u[t];else{if(null!==t)return;var r=e.getElementById("color-toggle-icon");r&&(t=r.getAttribute("data")),r&&c[t]||(t=u[n()])}return function(t,e){try{localStorage.setItem(t,e)}catch(t){}}("Fluid_Color_Scheme",t),t}i();var g=t.onload;t.onload=function(){g&&g();var t=e.getElementById("color-toggle-btn");t&&t.addEventListener("click",()=>{i(d())})}}(window,document);
|
@ -1 +0,0 @@
|
||||
function Debouncer(i){this.callback=i,this.ticking=!1}window.requestAnimationFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame,Debouncer.prototype={constructor:Debouncer,update:function(){this.callback&&this.callback(),this.ticking=!1},requestTick:function(){this.ticking||(requestAnimationFrame(this.rafCallback||(this.rafCallback=this.update.bind(this))),this.ticking=!0)},handleEvent:function(){this.requestTick()}};
|
1
js/dist/xfy.dev.js
vendored
1
js/dist/xfy.dev.js
vendored
@ -1 +0,0 @@
|
||||
"use strict";$(document).ready((function(){$("#comments").on("focus",".v[data-class=v] .vwrap .vedit",(function(){$(this).animate({"background-size":"0%"})})),$("#comments").on("blur",".v[data-class=v] .vwrap .vedit",(function(){$(this).animate({"background-size":"20%"})}))}));
|
@ -1 +0,0 @@
|
||||
!function(e,t){var n=void 0!==e&&"IntersectionObserver"in e,r=Array.prototype.slice.call(t.querySelectorAll("img[srcset]"));if(r&&0!==r.length)if(n){var o=new IntersectionObserver((function(e){e.forEach(({target:e,isIntersecting:t})=>{t&&(e.setAttribute("srcset",e.src),e.onload=e.onerror=()=>o.unobserve(e))})}),{threshold:[0],rootMargin:(e.innerHeight||t.documentElement.clientHeight)+"px"});r.map(e=>o.observe(e))}else{function i(e,t){var n=new Image,r=e.getAttribute("src");n.onload=function(){e.srcset=r,t&&t()},n.srcset=r}var c=new Debouncer((function(){for(var n=0;n<r.length;n++)o=r[n],s=void 0,l=void 0,v=void 0,s=o.getBoundingClientRect(),l=e.innerHeight||t.documentElement.clientHeight,((v=s.top)>=0&&v<=3*l||v<=0&&v<=-2*l-s.height)&&function(e){var t=r[e];i(t,(function(){r=r.filter((function(e){return t!==e}))}))}(n);var o,s,l,v;0===r.length&&e.removeEventListener("scroll",c,!1)}));e.addEventListener("scroll",c,!1),c.handleEvent()}}(window,document);
|
@ -1 +0,0 @@
|
||||
var searchFunc=function(t,e,n){"use strict";var i=document.getElementById(e),a=document.getElementById(n);a.innerHTML='<div class="m-auto text-center"><div class="spinner-border" role="status"><span class="sr-only">Loading...</span></div><br/>Loading...</div>',$.ajax({url:t,dataType:"xml",success:function(t){var e=$("entry",t).map((function(){return{title:$("title",this).text(),content:$("content",this).text(),url:$("url",this).text()}})).get();a.innerHTML="",i.addEventListener("input",(function(){var t="",n=this.value.trim().toLowerCase().split(/[\s-]+/);if(a.innerHTML="",this.value.trim().length<=0)return;e.forEach((function(e){var i=!0;e.title&&""!==e.title.trim()||(e.title="Untitled");var a=e.title.trim(),r=a.toLowerCase(),s=e.content.trim().replace(/<[^>]+>/g,""),l=s.toLowerCase(),c=e.url,o=-1,u=-1,d=-1;if(""!==l?n.forEach((function(t,e){o=r.indexOf(t),u=l.indexOf(t),o<0&&u<0?i=!1:(u<0&&(u=0),0===e&&(d=u))})):i=!1,i){t+="<a href='"+c+"' class='list-group-item list-group-item-action font-weight-bolder search-list-title'>"+a+"</a>";var v=s;if(d>=0){var h=d-20,m=d+80;h<0&&(h=0),0===h&&(m=100),m>v.length&&(m=v.length);var f=v.substring(h,m);n.forEach((function(t){var e=new RegExp(t,"gi");f=f.replace(e,'<span class="search-word">'+t+"</span>")})),t+="<p class='search-list-content'>"+f+"...</p>"}}}));const i=$("#local-search-input");if(-1===t.indexOf("list-group-item"))return i.addClass("invalid").removeClass("valid");i.addClass("valid").removeClass("invalid"),a.innerHTML=t}))}}),$(document).on("click","#local-search-close",(function(){$("#local-search-input").val("").removeClass("invalid").removeClass("valid"),$("#local-search-result").html("")}))};
|
@ -1 +0,0 @@
|
||||
function listenScroll(o){const n=new Debouncer(o);window.addEventListener("scroll",n,!1),n.handleEvent()}function scrollToElement(o,n){var a=$(o).offset();$("body,html").animate({scrollTop:a.top+(n||0),easing:"swing"})}function navbarScrollEvent(){var o=$("#navbar"),n=$("#navbar .dropdown-menu");o.offset().top>0&&(o.removeClass("navbar-dark"),n.removeClass("navbar-dark")),listenScroll((function(){o[o.offset().top>50?"addClass":"removeClass"]("top-nav-collapse"),n[o.offset().top>50?"addClass":"removeClass"]("dropdown-collapse"),o.offset().top>0?(o.removeClass("navbar-dark"),n.removeClass("navbar-dark")):(o.addClass("navbar-dark"),n.removeClass("navbar-dark"))})),$("#navbar-toggler-btn").on("click",(function(){$(".animated-icon").toggleClass("open"),$("#navbar").toggleClass("navbar-col-show")}))}function parallaxEvent(){var o=$('#background[parallax="true"]');o.length>0&&listenScroll((function(){var n=$(window).scrollTop()/5,a=96+parseInt($("#board").css("margin-top"),0);n>a&&(n=a),o.css({transform:"translate3d(0,"+n+"px,0)","-webkit-transform":"translate3d(0,"+n+"px,0)","-ms-transform":"translate3d(0,"+n+"px,0)","-o-transform":"translate3d(0,"+n+"px,0)"}),$("#toc")&&$("#toc-ctn").css({"padding-top":n+"px"})}))}function scrollDownArrowEvent(){$(".scroll-down-bar").on("click",(function(){scrollToElement("#board",-$("#navbar").height())}))}function scrollTopArrowEvent(){var o=$("#scroll-top-button");if(o){var n=!1,a=!1,t=function(){var t=document.getElementById("board").getClientRects()[0].right,r=document.body.offsetWidth-t;n=r>=50,o.css({bottom:n&&a?"20px":"-60px",right:r-64+"px"})};t(),$(window).resize(t);var r=$("#board").offset().top;listenScroll((function(){var t=document.body.scrollTop+document.documentElement.scrollTop;a=t>=r,o.css({bottom:n&&a?"20px":"-60px"})})),o.on("click",(function(){$("body,html").animate({scrollTop:0,easing:"swing"})}))}}$(document).ready((function(){navbarScrollEvent(),parallaxEvent(),scrollDownArrowEvent(),scrollTopArrowEvent()}));
|
@ -1 +0,0 @@
|
||||
function waitElementVisible(e,t){var n="undefined"!=typeof window,o=n&&!("onscroll"in window)||"undefined"!=typeof navigator&&/(gle|ing|ro|msn)bot|crawl|spider|yand|duckgo/i.test(navigator.userAgent),i=n&&"IntersectionObserver"in window;!o&&i?new IntersectionObserver((function(e,n){e[0].isIntersecting&&(t&&t(),n.disconnect())}),{threshold:[0],rootMargin:(window.innerHeight||document.documentElement.clientHeight)+"px"}).observe(document.getElementById(e)):t&&t()}function waitElementLoaded(e,t){var n="undefined"!=typeof window,o=n&&!("onscroll"in window)||"undefined"!=typeof navigator&&/(gle|ing|ro|msn)bot|crawl|spider|yand|duckgo/i.test(navigator.userAgent);if(n&&!o)if("MutationObserver"in window){new MutationObserver((function(n,o){document.getElementById(e)&&(t&&t(),o.disconnect())})).observe(document,{childList:!0,subtree:!0})}else{var i=window.onload;window.onload=function(){i&&i(),t&&t()}}}function addScript(e,t){var n=document.createElement("script");n.setAttribute("src",e),n.setAttribute("type","text/javascript"),n.setAttribute("charset","UTF-8"),n.async=!1,"function"==typeof t&&(window.attachEvent?n.onreadystatechange=function(){var e=n.readyState;"loaded"!==e&&"complete"!==e||(n.onreadystatechange=null,t())}:n.onload=t);var o=document.getElementsByTagName("script")[0]||document.getElementsByTagName("head")[0]||document.head||document.documentElement;o.parentNode.insertBefore(n,o)}function addCssLink(e){var t=document.createElement("link");t.setAttribute("rel","stylesheet"),t.setAttribute("type","text/css"),t.setAttribute("href",e);var n=document.getElementsByTagName("link")[0]||document.getElementsByTagName("head")[0]||document.head||document.documentElement;n.parentNode.insertBefore(t,n)}
|
@ -1 +0,0 @@
|
||||
$(document).ready((function(){$("#comments").on("focus",".v[data-class=v] .vwrap .vedit",(function(){$(this).animate({"background-size":"0%"})})),$("#comments").on("blur",".v[data-class=v] .vwrap .vedit",(function(){$(this).animate({"background-size":"20%"})}))}));
|
3
lib/hint/hint.min.css
vendored
3
lib/hint/hint.min.css
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
18024
package-lock.json
generated
Normal file
18024
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
47
package.json
Normal file
47
package.json
Normal file
@ -0,0 +1,47 @@
|
||||
{
|
||||
"name": "hexo-site",
|
||||
"version": "0.0.2-0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build": "hexo generate",
|
||||
"clean": "hexo clean",
|
||||
"deploy": "hexo deploy",
|
||||
"server": "hexo server",
|
||||
"dev": "hexo cl && hexo g && gulp",
|
||||
"go": "hexo cl && hexo g && gulp && hexo d",
|
||||
"cz": "cz",
|
||||
"cl": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0"
|
||||
},
|
||||
"hexo": {
|
||||
"version": "5.3.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"babel": "^6.23.0",
|
||||
"commitizen": "^4.2.2",
|
||||
"conventional-changelog-cli": "^2.1.1",
|
||||
"gulp": "^4.0.2",
|
||||
"gulp-clean-css": "^4.3.0",
|
||||
"gulp-htmlclean": "^2.7.22",
|
||||
"gulp-htmlmin": "^5.0.1",
|
||||
"gulp-uglify": "^3.0.2",
|
||||
"gulp-uglify-es": "^2.0.0",
|
||||
"hexo": "^5.3.0",
|
||||
"hexo-cli": "^4.2.0",
|
||||
"hexo-deployer-git": "^2.1.0",
|
||||
"hexo-generator-archive": "^1.0.0",
|
||||
"hexo-generator-category": "^1.0.0",
|
||||
"hexo-generator-feed": "^3.0.0",
|
||||
"hexo-generator-index": "^2.0.0",
|
||||
"hexo-generator-sitemap": "^2.1.0",
|
||||
"hexo-generator-tag": "^1.0.0",
|
||||
"hexo-renderer-ejs": "^1.0.0",
|
||||
"hexo-renderer-marked": "^3.3.0",
|
||||
"hexo-renderer-stylus": "^2.0.1",
|
||||
"hexo-server": "^2.0.0",
|
||||
"hexo-theme-fluid": "^1.8.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.12.10",
|
||||
"@babel/preset-env": "^7.12.11"
|
||||
}
|
||||
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user