1+ <!DOCTYPE html> < html lang ="zh-CN " data-theme ="light "> < head > < meta charset ="UTF-8 "> < meta http-equiv ="X-UA-Compatible " content ="IE=edge "> < meta name ="viewport " content ="width=device-width, initial-scale=1.0,viewport-fit=cover "> < title > 高雅人士的博客 | 高雅人士的博客</ title > < meta name ="author " content ="Biligit "> < meta name ="copyright " content ="Biligit "> < meta name ="format-detection " content ="telephone=no "> < meta name ="theme-color " content ="#ffffff "> < meta property ="og:type " content ="website ">
2+ < meta property ="og:title " content ="高雅人士的博客 ">
3+ < meta property ="og:url " content ="http://example.com/404.html ">
4+ < meta property ="og:site_name " content ="高雅人士的博客 ">
5+ < meta property ="og:locale " content ="zh_CN ">
6+ < meta property ="og:image " content ="http://example.com/img/butterfly-icon.png ">
7+ < meta property ="article:author " content ="Biligit ">
8+ < meta name ="twitter:card " content ="summary ">
9+ < meta name ="
twitter:image "
content ="
http://example.com/img/butterfly-icon.png "
> < script type ="
application/ld+json "
> </ script > < link rel ="
shortcut icon "
href ="
/img/favicon.png "
> < link rel ="
canonical "
href ="
http://example.com/404.html "
> < link rel ="
preconnect "
href ="
//cdn.jsdelivr.net "
/> < link rel ="
preconnect "
href ="
//busuanzi.ibruce.info "
/> < link rel ="
stylesheet "
href ="
/css/index.css?v=5.5.2 "
> < link rel ="
stylesheet "
href ="
https://cdn.jsdelivr.net/npm/@fortawesome/[email protected] /css/all.min.css "
> < script > 10+ ( ( ) => {
11+
12+ const saveToLocal = {
13+ set : ( key , value , ttl ) => {
14+ if ( ! ttl ) return
15+ const expiry = Date . now ( ) + ttl * 86400000
16+ localStorage . setItem ( key , JSON . stringify ( { value, expiry } ) )
17+ } ,
18+ get : key => {
19+ const itemStr = localStorage . getItem ( key )
20+ if ( ! itemStr ) return undefined
21+ const { value, expiry } = JSON . parse ( itemStr )
22+ if ( Date . now ( ) > expiry ) {
23+ localStorage . removeItem ( key )
24+ return undefined
25+ }
26+ return value
27+ }
28+ }
29+
30+ window . btf = {
31+ saveToLocal,
32+ getScript : ( url , attr = { } ) => new Promise ( ( resolve , reject ) => {
33+ const script = document . createElement ( 'script' )
34+ script . src = url
35+ script . async = true
36+ Object . entries ( attr ) . forEach ( ( [ key , val ] ) => script . setAttribute ( key , val ) )
37+ script . onload = script . onreadystatechange = ( ) => {
38+ if ( ! script . readyState || / l o a d e d | c o m p l e t e / . test ( script . readyState ) ) resolve ( )
39+ }
40+ script . onerror = reject
41+ document . head . appendChild ( script )
42+ } ) ,
43+ getCSS : ( url , id ) => new Promise ( ( resolve , reject ) => {
44+ const link = document . createElement ( 'link' )
45+ link . rel = 'stylesheet'
46+ link . href = url
47+ if ( id ) link . id = id
48+ link . onload = link . onreadystatechange = ( ) => {
49+ if ( ! link . readyState || / l o a d e d | c o m p l e t e / . test ( link . readyState ) ) resolve ( )
50+ }
51+ link . onerror = reject
52+ document . head . appendChild ( link )
53+ } ) ,
54+ addGlobalFn : ( key , fn , name = false , parent = window ) => {
55+ if ( ! false && key . startsWith ( 'pjax' ) ) return
56+ const globalFn = parent . globalFn || { }
57+ globalFn [ key ] = globalFn [ key ] || { }
58+ globalFn [ key ] [ name || Object . keys ( globalFn [ key ] ) . length ] = fn
59+ parent . globalFn = globalFn
60+ }
61+ }
62+
63+
64+ const activateDarkMode = ( ) => {
65+ document . documentElement . setAttribute ( 'data-theme' , 'dark' )
66+ if ( document . querySelector ( 'meta[name="theme-color"]' ) !== null ) {
67+ document . querySelector ( 'meta[name="theme-color"]' ) . setAttribute ( 'content' , '#0d0d0d' )
68+ }
69+ }
70+ const activateLightMode = ( ) => {
71+ document . documentElement . setAttribute ( 'data-theme' , 'light' )
72+ if ( document . querySelector ( 'meta[name="theme-color"]' ) !== null ) {
73+ document . querySelector ( 'meta[name="theme-color"]' ) . setAttribute ( 'content' , '#ffffff' )
74+ }
75+ }
76+
77+ btf . activateDarkMode = activateDarkMode
78+ btf . activateLightMode = activateLightMode
79+
80+ const theme = saveToLocal . get ( 'theme' )
81+
82+ theme === 'dark' ? activateDarkMode ( ) : theme === 'light' ? activateLightMode ( ) : null
83+
84+
85+ const asideStatus = saveToLocal . get ( 'aside-status' )
86+ if ( asideStatus !== undefined ) {
87+ document . documentElement . classList . toggle ( 'hide-aside' , asideStatus === 'hide' )
88+ }
89+
90+
91+ const detectApple = ( ) => {
92+ if ( / i P a d | i P h o n e | i P o d | M a c i n t o s h / . test ( navigator . userAgent ) ) {
93+ document . documentElement . classList . add ( 'apple' )
94+ }
95+ }
96+ detectApple ( )
97+
98+ } ) ( )
99+ </ script > < script > const GLOBAL_CONFIG = {
100+ root : '/' ,
101+ algolia : undefined ,
102+ localSearch : undefined ,
103+ translate : { "defaultEncoding" :2 , "translateDelay" :0 , "msgToTraditionalChinese" :"繁" , "msgToSimplifiedChinese" :"簡" } ,
104+ highlight : { "plugin" :"highlight.js" , "highlightCopy" :true , "highlightLang" :true , "highlightHeightLimit" :false , "highlightFullpage" :false , "highlightMacStyle" :true } ,
105+ copy : {
106+ success : '复制成功' ,
107+ error : '复制失败' ,
108+ noSupport : '浏览器不支持'
109+ } ,
110+ relativeDate : {
111+ homepage : false ,
112+ post : false
113+ } ,
114+ runtime : '' ,
115+ dateSuffix : {
116+ just : '刚刚' ,
117+ min : '分钟前' ,
118+ hour : '小时前' ,
119+ day : '天前' ,
120+ month : '个月前'
121+ } ,
122+ copyright : undefined ,
123+ lightbox : 'null' ,
124+ Snackbar : undefined ,
125+ infinitegrid : {
126+ js :
'https://cdn.jsdelivr.net/npm/@egjs/[email protected] /dist/infinitegrid.min.js' , 127+ buttonText : '加载更多'
128+ } ,
129+ isPhotoFigcaption : false ,
130+ islazyloadPlugin : false ,
131+ isAnchor : false ,
132+ percent : {
133+ toc : true ,
134+ rightside : false ,
135+ } ,
136+ autoDarkmode : false
137+ } </ script > < script id ="config-diff "> var GLOBAL_CONFIG_SITE = {
138+ title : '高雅人士的博客' ,
139+ isHighlightShrink : false ,
140+ isToc : false ,
141+ pageType : 'page'
142+ } </ script > < meta name ="generator " content ="Hexo 8.1.1 "> </ head > < body > < div id ="sidebar "> < div id ="menu-mask "> </ div > < div id ="sidebar-menus "> < div class ="avatar-img text-center "> < img src ="/img/butterfly-icon.png " onerror ="this.onerror=null;this.src='/img/friend_404.gif' " alt ="avatar "/> </ div > < div class ="site-data text-center "> < a href ="/archives/ "> < div class ="headline "> 文章</ div > < div class ="length-num "> 1</ div > </ a > < a href ="/tags/ "> < div class ="headline "> 标签</ div > < div class ="length-num "> 0</ div > </ a > < a href ="/categories/ "> < div class ="headline "> 分类</ div > < div class ="length-num "> 0</ div > </ a > </ div > < div class ="menus_items "> < div class ="menus_item "> < a class ="site-page " href ="/ "> < i class ="fa-fw fas fa-home "> </ i > < span > 首页</ span > </ a > </ div > < div class ="menus_item "> < a class ="site-page " href ="/about/ "> < i class ="fa-fw fas fa-heart "> </ i > < span > 关于</ span > </ a > </ div > < div class ="menus_item "> < a class ="site-page " href ="/tags/ "> < i class ="fa-fw fas fa-tags "> </ i > < span > 标签</ span > </ a > </ div > < div class ="menus_item "> < a class ="site-page " href ="/categories/ "> < i class ="fa-fw fas fa-folder-open "> </ i > < span > 分类</ span > </ a > </ div > </ div > </ div > </ div > < div class ="page type-404 " id ="body-wrap "> < header class ="not-top-img " id ="page-header "> < nav id ="nav "> < span id ="blog-info "> < a class ="nav-site-title " href ="/ "> < img class ="site-icon " src ="/img/butterfly-icon.png " alt ="Logo "> < span class ="site-name "> 高雅人士的博客</ span > </ a > </ span > < div id ="menus "> < div class ="menus_items "> < div class ="menus_item "> < a class ="site-page " href ="/ "> < i class ="fa-fw fas fa-home "> </ i > < span > 首页</ span > </ a > </ div > < div class ="menus_item "> < a class ="site-page " href ="/about/ "> < i class ="fa-fw fas fa-heart "> </ i > < span > 关于</ span > </ a > </ div > < div class ="menus_item "> < a class ="site-page " href ="/tags/ "> < i class ="fa-fw fas fa-tags "> </ i > < span > 标签</ span > </ a > </ div > < div class ="menus_item "> < a class ="site-page " href ="/categories/ "> < i class ="fa-fw fas fa-folder-open "> </ i > < span > 分类</ span > </ a > </ div > </ div > < div id ="toggle-menu "> < span class ="site-page "> < i class ="fas fa-bars fa-fw "> </ i > </ span > </ div > </ div > </ nav > < h1 class ="title-seo "> 高雅人士的博客</ h1 > </ header > < main class ="layout hide-aside " id ="content-inner "> < div class ="nc " id ="page "> < div class ="error-content "> < div class ="error-img "> < img src ="/img/error-page.png " alt ="Page not found "> </ div > < div class ="error-info "> < h1 class ="error_title "> 404</ h1 > < div class ="error_subtitle "> Page Not Found</ div > </ div > </ div > </ div > </ main > < footer id ="footer "> < div class ="footer-other "> < div class ="footer-copyright "> < span class ="copyright "> © 2025 By Biligit</ span > < span class ="framework-info "> < span > 框架 </ span > < a target ="_blank " rel ="noopener " href ="https://hexo.io "> Hexo 8.1.1</ a > < span class ="footer-separator "> |</ span > < span > 主题 </ span > < a target ="_blank " rel ="noopener " href ="https://github.com/jerryc127/hexo-theme-butterfly "> Butterfly 5.5.2</ a > </ span > </ div > </ div > </ footer > </ div > < div id ="rightside "> < div id ="rightside-config-hide "> < button id ="translateLink " type ="button " title ="简繁转换 "> 繁</ button > < button id ="darkmode " type ="button " title ="日间和夜间模式切换 "> < i class ="fas fa-adjust "> </ i > </ button > </ div > < div id ="rightside-config-show "> < button id ="rightside-config " type ="button " title ="设置 "> < i class ="fas fa-cog fa-spin "> </ i > </ button > < button id ="go-up " type ="button " title ="回到顶部 "> < span class ="scroll-percent "> </ span > < i class ="fas fa-arrow-up "> </ i > </ button > </ div > </ div > < div > < script src ="/js/utils.js?v=5.5.2 "> </ script > < script src ="/js/main.js?v=5.5.2 "> </ script > < script src ="/js/tw_cn.js?v=5.5.2 "> </ script > < div class ="js-pjax "> </ div > < script async data-pjax src ="/ "> </ script > </ div > </ body > </ html >
0 commit comments