160 lines
11 KiB
HTML
160 lines
11 KiB
HTML
<!DOCTYPE html><html lang="en" 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>Hexo</title><meta name="author" content="John Doe"><meta name="copyright" content="John Doe"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta property="og:type" content="website">
|
|
<meta property="og:title" content="Hexo">
|
|
<meta property="og:url" content="https://blog.linloir.cn/">
|
|
<meta property="og:site_name" content="Hexo">
|
|
<meta property="og:locale" content="en_US">
|
|
<meta property="og:image" content="https://blog.linloir.cn/img/butterfly-icon.png">
|
|
<meta property="article:author" content="John Doe">
|
|
<meta name="twitter:card" content="summary">
|
|
<meta name="twitter:image" content="https://blog.linloir.cn/img/butterfly-icon.png"><link rel="shortcut icon" href="/img/favicon.png"><link rel="canonical" href="https://blog.linloir.cn/"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css"><script>
|
|
(() => {
|
|
|
|
const saveToLocal = {
|
|
set: (key, value, ttl) => {
|
|
if (!ttl) return
|
|
const expiry = Date.now() + ttl * 86400000
|
|
localStorage.setItem(key, JSON.stringify({ value, expiry }))
|
|
},
|
|
get: key => {
|
|
const itemStr = localStorage.getItem(key)
|
|
if (!itemStr) return undefined
|
|
const { value, expiry } = JSON.parse(itemStr)
|
|
if (Date.now() > expiry) {
|
|
localStorage.removeItem(key)
|
|
return undefined
|
|
}
|
|
return value
|
|
}
|
|
}
|
|
|
|
window.btf = {
|
|
saveToLocal,
|
|
getScript: (url, attr = {}) => new Promise((resolve, reject) => {
|
|
const script = document.createElement('script')
|
|
script.src = url
|
|
script.async = true
|
|
Object.entries(attr).forEach(([key, val]) => script.setAttribute(key, val))
|
|
script.onload = script.onreadystatechange = () => {
|
|
if (!script.readyState || /loaded|complete/.test(script.readyState)) resolve()
|
|
}
|
|
script.onerror = reject
|
|
document.head.appendChild(script)
|
|
}),
|
|
getCSS: (url, id) => new Promise((resolve, reject) => {
|
|
const link = document.createElement('link')
|
|
link.rel = 'stylesheet'
|
|
link.href = url
|
|
if (id) link.id = id
|
|
link.onload = link.onreadystatechange = () => {
|
|
if (!link.readyState || /loaded|complete/.test(link.readyState)) resolve()
|
|
}
|
|
link.onerror = reject
|
|
document.head.appendChild(link)
|
|
}),
|
|
addGlobalFn: (key, fn, name = false, parent = window) => {
|
|
if (!false && key.startsWith('pjax')) return
|
|
const globalFn = parent.globalFn || {}
|
|
globalFn[key] = globalFn[key] || {}
|
|
if (name && globalFn[key][name]) return
|
|
globalFn[key][name || Object.keys(globalFn[key]).length] = fn
|
|
parent.globalFn = globalFn
|
|
}
|
|
}
|
|
|
|
|
|
const activateDarkMode = () => {
|
|
document.documentElement.setAttribute('data-theme', 'dark')
|
|
if (document.querySelector('meta[name="theme-color"]') !== null) {
|
|
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
|
|
}
|
|
}
|
|
const activateLightMode = () => {
|
|
document.documentElement.setAttribute('data-theme', 'light')
|
|
if (document.querySelector('meta[name="theme-color"]') !== null) {
|
|
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
|
|
}
|
|
}
|
|
|
|
btf.activateDarkMode = activateDarkMode
|
|
btf.activateLightMode = activateLightMode
|
|
|
|
const theme = saveToLocal.get('theme')
|
|
|
|
theme === 'dark' ? activateDarkMode() : theme === 'light' ? activateLightMode() : null
|
|
|
|
|
|
const asideStatus = saveToLocal.get('aside-status')
|
|
if (asideStatus !== undefined) {
|
|
document.documentElement.classList.toggle('hide-aside', asideStatus === 'hide')
|
|
}
|
|
|
|
|
|
const detectApple = () => {
|
|
if (/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)) {
|
|
document.documentElement.classList.add('apple')
|
|
}
|
|
}
|
|
detectApple()
|
|
|
|
})()
|
|
</script><script>const GLOBAL_CONFIG = {
|
|
root: '/',
|
|
algolia: undefined,
|
|
localSearch: undefined,
|
|
translate: undefined,
|
|
noticeOutdate: undefined,
|
|
highlight: {"plugin":"highlight.js","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false,"highlightFullpage":false,"highlightMacStyle":false},
|
|
copy: {
|
|
success: 'Copy Successful',
|
|
error: 'Copy Failed',
|
|
noSupport: 'Browser Not Supported'
|
|
},
|
|
relativeDate: {
|
|
homepage: false,
|
|
post: false
|
|
},
|
|
runtime: '',
|
|
dateSuffix: {
|
|
just: 'Just now',
|
|
min: 'minutes ago',
|
|
hour: 'hours ago',
|
|
day: 'days ago',
|
|
month: 'months ago'
|
|
},
|
|
copyright: undefined,
|
|
lightbox: 'null',
|
|
Snackbar: undefined,
|
|
infinitegrid: {
|
|
js: 'https://cdn.jsdelivr.net/npm/@egjs/infinitegrid/dist/infinitegrid.min.js',
|
|
buttonText: 'Load More'
|
|
},
|
|
isPhotoFigcaption: false,
|
|
islazyload: false,
|
|
isAnchor: false,
|
|
percent: {
|
|
toc: true,
|
|
rightside: false,
|
|
},
|
|
autoDarkmode: false
|
|
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
|
|
title: 'Hexo',
|
|
isPost: false,
|
|
isHome: true,
|
|
isHighlightShrink: false,
|
|
isToc: false,
|
|
postUpdate: '2024-10-09 16:07:29'
|
|
}</script><meta name="generator" content="Hexo 7.3.0"></head><body><div class="page" id="body-wrap"><header class="full_page" id="page-header"><nav id="nav"><span id="blog-info"><a class="nav-site-title" href="/"><span class="site-name">Hexo</span></a></span><div id="menus"></div></nav><div id="site-info"><h1 id="site-title">Hexo</h1></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts nc" id="recent-posts"><div class="recent-post-items"><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2024/10/09/hello-world/" title="Hello World">Hello World</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2024-10-09T16:07:19.760Z" title="Created 2024-10-09 16:07:19">2024-10-09</time></span></div><div class="content">Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$ hexo deploy More info: Deployment </div></div></div></div><nav id="pagination"><div class="pagination"><span class="page-number current">1</span></div></nav></div><div class="aside-content" id="aside-content"><div class="card-widget card-info is-center"><div class="avatar-img"><img src="/img/butterfly-icon.png" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info-name">John Doe</div><div class="author-info-description"></div><div class="site-data"><a href="/archives/"><div class="headline">Articles</div><div class="length-num">1</div></a><a href="/tags/"><div class="headline">Tags</div><div class="length-num">0</div></a><a href="/categories/"><div class="headline">Categories</div><div class="length-num">0</div></a></div><a id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/xxxxxx"><i class="fab fa-github"></i><span>Follow Me</span></a></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>Announcement</span></div><div class="announcement_content">This is my Blog</div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>Recent Posts</span></div><div class="aside-list"><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2024/10/09/hello-world/" title="Hello World">Hello World</a><time datetime="2024-10-09T16:07:19.760Z" title="Created 2024-10-09 16:07:19">2024-10-09</time></div></div></div></div><div class="card-widget card-archives">
|
|
<div class="item-headline">
|
|
<i class="fas fa-archive"></i>
|
|
<span>Archives</span>
|
|
|
|
</div>
|
|
<ul class="card-archive-list">
|
|
|
|
<li class="card-archive-list-item">
|
|
<a class="card-archive-list-link" href="/archives/2024/10/">
|
|
<span class="card-archive-list-date">October 2024</span>
|
|
<span class="card-archive-list-count">1</span>
|
|
</a>
|
|
</li>
|
|
</ul></div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>Website Info</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">Article Count :</div><div class="item-count">1</div></div><div class="webinfo-item"><div class="item-name">Unique Visitors :</div><div class="item-count" id="busuanzi_value_site_uv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">Page Views :</div><div class="item-count" id="busuanzi_value_site_pv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">Last Update :</div><div class="item-count" id="last-push-date" data-lastPushDate="2024-10-09T16:07:29.012Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div></div></div></div></div></main><footer id="footer"><div id="footer-wrap"><div class="copyright">©2019 - 2024 By John Doe</div><div class="framework-info"><span>Framework </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>Theme </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="darkmode" type="button" title="Toggle Between Light and Dark Mode"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="Toggle Between Single-column and Double-column"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside-config" type="button" title="Settings"><i class="fas fa-cog fa-spin"></i></button><button id="go-up" type="button" title="Back to Top"><span class="scroll-percent"></span><i class="fas fa-arrow-up"></i></button></div></div><div><script src="/js/utils.js"></script><script src="/js/main.js"></script><div class="js-pjax"></div><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html> |