2023-09-25 16:36:49 +08:00
<!DOCTYPE html>
< html lang = "zh-CN" data-default-color-scheme = auto >
< head >
< meta charset = "UTF-8" >
< link rel = "apple-touch-icon" sizes = "76x76" href = "/img/fluid.png" >
< link rel = "icon" href = "/img/fluid.png" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0, maximum-scale=5.0, shrink-to-fit=no" >
< meta http-equiv = "x-ua-compatible" content = "ie=edge" >
< meta name = "theme-color" content = "#2f4154" >
< meta name = "author" content = "浪子" >
< meta name = "keywords" content = "DIY,黑苹果,分享,自由" >
< meta name = "description" content = "曾梦想仗剑走天涯;因太胖放弃原计划." >
< meta property = "og:type" content = "website" >
< meta property = "og:title" content = "提剑追梦" >
< meta property = "og:url" content = "https://jkjoy.cn/index.html" >
< meta property = "og:site_name" content = "提剑追梦" >
< meta property = "og:description" content = "曾梦想仗剑走天涯;因太胖放弃原计划." >
< meta property = "og:locale" content = "zh_CN" >
< meta property = "article:author" content = "浪子" >
< meta property = "article:tag" content = "DIY,黑苹果,分享,自由" >
< meta name = "twitter:card" content = "summary_large_image" >
< title > 提剑追梦< / title >
< link rel = "stylesheet" href = "https://lib.baomitu.com/twitter-bootstrap/4.6.1/css/bootstrap.min.css" / >
<!-- 主题依赖的图标库,不要自行修改 -->
<!-- Do not modify the link that theme dependent icons -->
< link rel = "stylesheet" href = "//at.alicdn.com/t/font_1749284_hj8rtnfg7um.css" >
2023-09-25 19:25:30 +08:00
< link rel = "stylesheet" href = "//at.alicdn.com/t/c/font_4267870_uup6rwvh4f.css" >
2023-09-25 16:36:49 +08:00
< link rel = "stylesheet" href = "/css/main.css" / >
< link id = "highlight-css" rel = "stylesheet" href = "/css/highlight.css" / >
< link id = "highlight-css-dark" rel = "stylesheet" href = "/css/highlight-dark.css" / >
< script id = "fluid-configs" >
var Fluid = window.Fluid || {};
Fluid.ctx = Object.assign({}, Fluid.ctx)
var CONFIG = {"hostname":"jkjoy.cn","root":"/","version":"1.9.5-a","typing":{"enable":true,"typeSpeed":70,"cursorChar":"_","loop":false,"scope":[]},"anchorjs":{"enable":true,"element":"h1,h2,h3,h4,h5,h6","placement":"left","visible":"hover","icon":""},"progressbar":{"enable":true,"height_px":3,"color":"#29d","options":{"showSpinner":false,"trickleSpeed":100}},"code_language":{"enable":true,"default":"TEXT"},"copy_btn":true,"image_caption":{"enable":true},"image_zoom":{"enable":true,"img_url_replace":["",""]},"toc":{"enable":true,"placement":"right","headingSelector":"h1,h2,h3,h4,h5,h6","collapseDepth":0},"lazyload":{"enable":true,"loading_img":"/img/loading.gif","onlypost":false,"offset_factor":2},"web_analytics":{"enable":true,"follow_dnt":true,"baidu":"9a59c9b2baa8e43c367f559cd7d9b86c","google":{"measurement_id":null},"tencent":{"sid":null,"cid":null},"woyaola":null,"cnzz":null,"leancloud":{"app_id":"qkYaRmrTvy9Og9bRIt4YTIiC-MdYXbMMI","app_key":"BnyRqKMFP7xp6xF0OTU7rC40","server_url":null,"path":"window.location.pathname","ignore_local":false}},"search_path":"/local-search.xml","include_content_in_search":true};
if (CONFIG.web_analytics.follow_dnt) {
var dntVal = navigator.doNotTrack || window.doNotTrack || navigator.msDoNotTrack;
Fluid.ctx.dnt = dntVal & & (dntVal.startsWith('1') || dntVal.startsWith('yes') || dntVal.startsWith('on'));
}
< / script >
< script src = "/js/utils.js" > < / script >
< script src = "/js/color-schema.js" > < / script >
<!-- Baidu Analytics -->
< script async >
if (!Fluid.ctx.dnt) {
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?9a59c9b2baa8e43c367f559cd7d9b86c";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
}
< / script >
<!-- Google tag (gtag.js) -->
< script async >
if (!Fluid.ctx.dnt) {
Fluid.utils.createScript("https://www.googletagmanager.com/gtag/js?id=", function() {
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', '');
});
}
< / script >
< meta name = "generator" content = "Hexo 6.3.0" > < link rel = "alternate" href = "/atom.xml" title = "提剑追梦" type = "application/atom+xml" >
< / head >
< body >
< header >
< div class = "header-inner" style = "height: 100vh;" >
< nav id = "navbar" class = "navbar fixed-top navbar-expand-lg navbar-dark scrolling-navbar" >
< div class = "container" >
< a class = "navbar-brand" href = "/" >
2023-09-25 19:25:30 +08:00
< strong > 提剑追梦< / strong >
2023-09-25 16:36:49 +08:00
< / 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 >
<!-- Collapsible content -->
< div class = "collapse navbar-collapse" id = "navbarSupportedContent" >
< ul class = "navbar-nav ml-auto text-center" >
< li class = "nav-item" >
< a class = "nav-link" href = "/" >
2023-09-25 19:25:30 +08:00
< i class = "iconfont icon-home" > < / i >
2023-09-25 16:36:49 +08:00
< span > 首页< / span >
< / a >
< / li >
< li class = "nav-item" >
< a class = "nav-link" href = "/archives/" >
2023-09-25 19:25:30 +08:00
< i class = "iconfont icon-archive" > < / i >
2023-09-25 16:36:49 +08:00
< span > 归档< / span >
< / a >
< / li >
< li class = "nav-item" >
< a class = "nav-link" href = "/categories/" >
2023-09-25 19:25:30 +08:00
< i class = "iconfont icon-categories" > < / i >
2023-09-25 16:36:49 +08:00
< span > 分类< / span >
< / a >
< / li >
< li class = "nav-item" >
< a class = "nav-link" href = "/tags/" >
2023-09-25 19:25:30 +08:00
< i class = "iconfont icon-tags" > < / i >
2023-09-25 16:36:49 +08:00
< span > 标签< / span >
< / a >
< / li >
< li class = "nav-item" >
< a class = "nav-link" href = "/links/" >
2023-09-25 19:25:30 +08:00
< i class = "iconfont icon-link1" > < / i >
2023-09-25 16:36:49 +08:00
< span > 友链< / span >
< / a >
< / li >
2023-09-25 19:25:30 +08:00
< li class = "nav-item" >
< a class = "nav-link" href = "/fcircle/" >
< i class = "iconfont icon-friend" > < / i >
< span > 圈子< / span >
< / a >
< / li >
< li class = "nav-item" >
< a class = "nav-link" href = "/memos/" >
< i class = "iconfont icon-Chat" > < / i >
< span > 说说< / span >
< / a >
< / li >
2023-09-25 16:36:49 +08:00
< li class = "nav-item" >
< a class = "nav-link" href = "/about/" >
2023-09-25 19:25:30 +08:00
< i class = "iconfont icon-aboutme" > < / i >
2023-09-25 16:36:49 +08:00
< span > 关于< / span >
< / a >
< / li >
< li class = "nav-item" id = "search-btn" >
< a class = "nav-link" target = "_self" href = "javascript:;" data-toggle = "modal" data-target = "#modalSearch" aria-label = "Search" >
< i class = "iconfont icon-search" > < / i >
< / a >
< / li >
< li class = "nav-item" id = "color-toggle-btn" >
< a class = "nav-link" target = "_self" href = "javascript:;" aria-label = "Color Toggle" >
< i class = "iconfont icon-dark" id = "color-toggle-icon" > < / i >
< / a >
< / li >
< / ul >
< / div >
< / div >
< / nav >
< div id = "banner" class = "banner" parallax = true
style="background: url('/img/default.png') no-repeat center center; background-size: cover;">
< div class = "full-bg-img" >
< div class = "mask flex-center" style = "background-color: rgba(0, 0, 0, 0.3)" >
< div class = "banner-text text-center fade-in-up" >
< div class = "h2" >
< span id = "subtitle" data-typed-text = "曾梦想仗剑走天涯" > < / span >
< / div >
< / div >
< div class = "scroll-down-bar" >
< i class = "iconfont icon-arrowdown" > < / i >
< / div >
< / div >
< / div >
< / div >
< / div >
< / header >
< main >
< div class = "container nopadding-x-md" >
< div id = "board"
style="margin-top: 0">
< div class = "container" >
< div class = "row" >
< div class = "col-12 col-md-10 m-auto" >
< div class = "row mx-auto index-card" >
< article class = "col-12 col-md-12 mx-auto index-info" >
< h2 class = "index-header" >
< a href = "/2023/8084c141.html" target = "_self" >
如何在Fly.io部署typecho
< / a >
< / h2 >
< a class = "index-excerpt index-excerpt__noimg" href = "/2023/8084c141.html" target = "_self" >
< div >
使用项目https://github.com/ttys3/typecho-docker 准备工作 注册FLY.IO用以部署typecho 安装flyctlInstall flyctl以WINDOWS为例 1pwsh -Command " iwr https://fly.io/install.ps1 -useb | iex" 其他系统请参照官方 新建APP初始化 1flyctl
< / div >
< / a >
< div class = "index-btm post-metas" >
< div class = "post-meta mr-3" >
< i class = "iconfont icon-date" > < / i >
< time datetime = "2023-09-06 00:00" pubdate >
2023-09-06
< / time >
< / div >
< div class = "post-meta mr-3 d-flex align-items-center" >
< i class = "iconfont icon-category" > < / i >
< span class = "category-chains" >
< span class = "category-chain" >
< a href = "/categories/%E5%88%86%E4%BA%AB/" class = "category-chain-item" > 分享< / a >
< / span >
< / span >
< / div >
< div class = "post-meta" >
< i class = "iconfont icon-tags" > < / i >
< a href = "/tags/typecho/" > #typecho< / a >
< / div >
< / div >
< / article >
< / div >
< div class = "row mx-auto index-card" >
< article class = "col-12 col-md-12 mx-auto index-info" >
< h2 class = "index-header" >
< a href = "/2023/9597b72.html" target = "_self" >
在fly.io部署Gotosocial
< / a >
< / h2 >
< a class = "index-excerpt index-excerpt__noimg" href = "/2023/9597b72.html" target = "_self" >
< div >
关于GotosocialGoToSocial 是一个十分轻量(轻量到甚至没有用户界面,需要使用第三方程序登录、兼容 Mastodon 应用进行使用)的 ActivityPub 联邦社交网络程序,自建 GoToSocial 可以避免您的信息因为所在实例倒闭、不可抗力等原因化为乌有。 准备 注册 Fly.io 账号,并绑卡(避免滥用); 注册 Cloudflare 并启用 R2, 启用 R2 需要绑卡。
< / div >
< / a >
< div class = "index-btm post-metas" >
< div class = "post-meta mr-3" >
< i class = "iconfont icon-date" > < / i >
< time datetime = "2023-08-17 18:55" pubdate >
2023-08-17
< / time >
< / div >
< div class = "post-meta mr-3 d-flex align-items-center" >
< i class = "iconfont icon-category" > < / i >
< span class = "category-chains" >
< span class = "category-chain" >
< a href = "/categories/%E5%88%86%E4%BA%AB/" class = "category-chain-item" > 分享< / a >
< / span >
< / span >
< / div >
< div class = "post-meta" >
< i class = "iconfont icon-tags" > < / i >
< a href = "/tags/Gotosocial/" > #Gotosocial< / a >
< a href = "/tags/fly-io/" > #fly.io< / a >
< a href = "/tags/%E9%83%A8%E7%BD%B2/" > #部署< / a >
< / div >
< / div >
< / article >
< / div >
< div class = "row mx-auto index-card" >
< article class = "col-12 col-md-12 mx-auto index-info" >
< h2 class = "index-header" >
< a href = "/2023/c80a64e9.html" target = "_self" >
在fly.io部署artalk评论系统
< / a >
< / h2 >
< a class = "index-excerpt index-excerpt__noimg" href = "/2023/c80a64e9.html" target = "_self" >
< div >
众所周知Fly.io是一个免费的SAAS平台提供三个内存为256MB的服务器,总3G硬盘空间.为防止滥用,需要绑定信用卡. 准备安装官方的命令行工具flyctl 初始化1flyctl launch 根据提示创建一个app 创建一个1G的硬盘1G的硬盘用来储存评论数据绰绰有余了 1flyctl volumes create artalk_data --region hkg --size 1 编辑FL
< / div >
< / a >
< div class = "index-btm post-metas" >
< div class = "post-meta mr-3" >
< i class = "iconfont icon-date" > < / i >
< time datetime = "2023-08-15 09:37" pubdate >
2023-08-15
< / time >
< / div >
< div class = "post-meta mr-3 d-flex align-items-center" >
< i class = "iconfont icon-category" > < / i >
< span class = "category-chains" >
< span class = "category-chain" >
< a href = "/categories/%E6%8E%A8%E8%8D%90/" class = "category-chain-item" > 推荐< / a >
< / span >
< / span >
< / div >
< div class = "post-meta" >
< i class = "iconfont icon-tags" > < / i >
< a href = "/tags/artalk/" > #artalk< / a >
< / div >
< / div >
< / article >
< / div >
< div class = "row mx-auto index-card" >
< article class = "col-12 col-md-12 mx-auto index-info" >
< h2 class = "index-header" >
< a href = "/2023/88a97a51.html" target = "_self" >
如何在Fly.io部署Memos
< / a >
< / h2 >
< a class = "index-excerpt index-excerpt__noimg" href = "/2023/88a97a51.html" target = "_self" >
< div >
项目https://github.com/hu3rror/memos-on-fly 准备工作 注册FLY.IO用以部署memos 注册B2Chttps://www.backblaze.com/cloud-storage 用以同步备份memos数据库 新建BUCKET,并获取< keyId> 和< applicationKey> 安装flyctlInstall flyctl以WI
< / div >
< / a >
< div class = "index-btm post-metas" >
< div class = "post-meta mr-3" >
< i class = "iconfont icon-date" > < / i >
< time datetime = "2023-08-15 00:00" pubdate >
2023-08-15
< / time >
< / div >
< div class = "post-meta mr-3 d-flex align-items-center" >
< i class = "iconfont icon-category" > < / i >
< span class = "category-chains" >
< span class = "category-chain" >
< a href = "/categories/Memos/" class = "category-chain-item" > Memos< / a >
< / span >
< / span >
< / div >
< div class = "post-meta" >
< i class = "iconfont icon-tags" > < / i >
< a href = "/tags/Memos/" > #Memos< / a >
< / div >
< / div >
< / article >
< / div >
< div class = "row mx-auto index-card" >
< article class = "col-12 col-md-12 mx-auto index-info" >
< h2 class = "index-header" >
< a href = "/2023/e48ebe86.html" target = "_self" >
使用 Docker 构建 Pleroma 实例
< / a >
< / h2 >
< a class = "index-excerpt index-excerpt__noimg" href = "/2023/e48ebe86.html" target = "_self" >
< div >
Pleroma 是一个去中心化的社区程序,其基于 ActivityPub 协议。而 ActivityPub 包括 Mastodon( Pawoo 等) 、Misskey( misskey.io 等) 、Pleroma 等等。在这些开源产品中, Pleroma 实机上部署环境步骤复杂繁琐。但它是对服务器性能要求最低的微博客工具,它的配置要求多低呢?现在 docker 的出现大大简化了部署的方式,只需要简单三步
< / div >
< / a >
< div class = "index-btm post-metas" >
< div class = "post-meta mr-3" >
< i class = "iconfont icon-date" > < / i >
< time datetime = "2023-07-24 21:57" pubdate >
2023-07-24
< / time >
< / div >
< div class = "post-meta mr-3 d-flex align-items-center" >
< i class = "iconfont icon-category" > < / i >
< span class = "category-chains" >
< span class = "category-chain" >
< a href = "/categories/%E6%8E%A8%E8%8D%90/" class = "category-chain-item" > 推荐< / a >
< / span >
< / span >
< / div >
< div class = "post-meta" >
< i class = "iconfont icon-tags" > < / i >
< a href = "/tags/Docker/" > #Docker< / a >
< a href = "/tags/Pleroma/" > #Pleroma< / a >
< / div >
< / div >
< / article >
< / div >
< div class = "row mx-auto index-card" >
< article class = "col-12 col-md-12 mx-auto index-info" >
< h2 class = "index-header" >
< a href = "/2023/bc338f20.html" target = "_self" >
群晖CPU和内存占满的排查记录
< / a >
< / h2 >
< a class = "index-excerpt index-excerpt__noimg" href = "/2023/bc338f20.html" target = "_self" >
< div >
起因最近一段时间群晖老是CPU和内存满载,桌面安装的套件自动停止一开始我认为是迅雷NAS版的问题,可是重装几次问题依旧. 排查打开菜单-资源监控-任务管理器发现虚拟机的CPU占用了80%,于是卸载虚拟机的套件.重启.问题依旧.继续查看任务管理器.发现video station内存占用9G以上,回想起自己曾经安装过video station的刮削补丁.于是,卸载补丁,重启完美解决. 总结不要安装一些
< / div >
< / a >
< div class = "index-btm post-metas" >
< div class = "post-meta mr-3" >
< i class = "iconfont icon-date" > < / i >
< time datetime = "2023-07-07 15:57" pubdate >
2023-07-07
< / time >
< / div >
< div class = "post-meta mr-3 d-flex align-items-center" >
< i class = "iconfont icon-category" > < / i >
< span class = "category-chains" >
< span class = "category-chain" >
< a href = "/categories/%E5%88%86%E4%BA%AB/" class = "category-chain-item" > 分享< / a >
< / span >
< / span >
< / div >
< div class = "post-meta" >
< i class = "iconfont icon-tags" > < / i >
< a href = "/tags/%E7%BE%A4%E6%99%96/" > #群晖< / a >
< / div >
< / div >
< / article >
< / div >
< div class = "row mx-auto index-card" >
< article class = "col-12 col-md-12 mx-auto index-info" >
< h2 class = "index-header" >
< a href = "/2023/1c81ee10.html" target = "_self" >
LEDE 软路由安装“koolss”离线插件包提示含非法关键字的解决方法
< / a >
< / h2 >
< a class = "index-excerpt index-excerpt__noimg" href = "/2023/1c81ee10.html" target = "_self" >
< div >
...
< / div >
< / a >
< div class = "index-btm post-metas" >
< div class = "post-meta mr-3" >
< i class = "iconfont icon-date" > < / i >
< time datetime = "2023-06-16 10:59" pubdate >
2023-06-16
< / time >
< / div >
< div class = "post-meta mr-3 d-flex align-items-center" >
< i class = "iconfont icon-category" > < / i >
< span class = "category-chains" >
< span class = "category-chain" >
< a href = "/categories/%E5%88%86%E4%BA%AB/" class = "category-chain-item" > 分享< / a >
< / span >
< / span >
< / div >
< div class = "post-meta" >
< i class = "iconfont icon-tags" > < / i >
< a href = "/tags/openwrt/" > #openwrt< / a >
< a href = "/tags/lede/" > #lede< / a >
< a href = "/tags/%E8%BD%AF%E8%B7%AF%E7%94%B1/" > #软路由< / a >
< a href = "/tags/%E7%A7%91%E5%AD%A6%E4%B8%8A%E7%BD%91/" > #科学上网< / a >
< / div >
< / div >
< / article >
< / div >
< div class = "row mx-auto index-card" >
< article class = "col-12 col-md-12 mx-auto index-info" >
< h2 class = "index-header" >
< a href = "/2023/63a51e75.html" target = "_self" >
群晖docker出现注册表无法访问的解决办法
< / a >
< / h2 >
< a class = "index-excerpt index-excerpt__noimg" href = "/2023/63a51e75.html" target = "_self" >
< div >
...
< / div >
< / a >
< div class = "index-btm post-metas" >
< div class = "post-meta mr-3" >
< i class = "iconfont icon-date" > < / i >
< time datetime = "2023-06-15 19:14" pubdate >
2023-06-15
< / time >
< / div >
< div class = "post-meta mr-3 d-flex align-items-center" >
< i class = "iconfont icon-category" > < / i >
< span class = "category-chains" >
< span class = "category-chain" >
< a href = "/categories/%E5%88%86%E4%BA%AB/" class = "category-chain-item" > 分享< / a >
< / span >
< / span >
< / div >
< div class = "post-meta" >
< i class = "iconfont icon-tags" > < / i >
< a href = "/tags/%E7%BE%A4%E6%99%96/" > #群晖< / a >
< a href = "/tags/docker/" > #docker< / a >
< / div >
< / div >
< / article >
< / div >
< div class = "row mx-auto index-card" >
< article class = "col-12 col-md-12 mx-auto index-info" >
< h2 class = "index-header" >
< a href = "/2023/286ad0c6.html" target = "_self" >
用Memos API实现hexo博客的动态说说页面
< / a >
< / h2 >
< a class = "index-excerpt index-excerpt__noimg" href = "/2023/286ad0c6.html" target = "_self" >
< div >
新建一个页面 1hexo new page Memos 修改Memos/index.md内容为 123456789101112131415161718192021---title: Memoscomments: falsedate: 2023-06-07 14:17:13---< div class=' memo-nums' > < p class=' no
< / div >
< / a >
< div class = "index-btm post-metas" >
< div class = "post-meta mr-3" >
< i class = "iconfont icon-date" > < / i >
< time datetime = "2023-06-13 15:57" pubdate >
2023-06-13
< / time >
< / div >
< div class = "post-meta mr-3 d-flex align-items-center" >
< i class = "iconfont icon-category" > < / i >
< span class = "category-chains" >
< span class = "category-chain" >
< a href = "/categories/%E5%88%86%E4%BA%AB/" class = "category-chain-item" > 分享< / a >
< / span >
< / span >
< / div >
< div class = "post-meta" >
< i class = "iconfont icon-tags" > < / i >
< a href = "/tags/memos/" > #memos< / a >
< a href = "/tags/Hexo/" > #Hexo< / a >
< / div >
< / div >
< / article >
< / div >
< div class = "row mx-auto index-card" >
< article class = "col-12 col-md-12 mx-auto index-info" >
< h2 class = "index-header" >
< a href = "/2023/8828c81e.html" target = "_self" >
给Memos添加Artalk评论
< / a >
< / h2 >
< a class = "index-excerpt index-excerpt__noimg" href = "/2023/8828c81e.html" target = "_self" >
< div >
...
< / div >
< / a >
< div class = "index-btm post-metas" >
< div class = "post-meta mr-3" >
< i class = "iconfont icon-date" > < / i >
< time datetime = "2023-06-13 14:25" pubdate >
2023-06-13
< / time >
< / div >
< div class = "post-meta mr-3 d-flex align-items-center" >
< i class = "iconfont icon-category" > < / i >
< span class = "category-chains" >
< span class = "category-chain" >
< a href = "/categories/%E5%88%86%E4%BA%AB/" class = "category-chain-item" > 分享< / a >
< / span >
< / span >
< / div >
< div class = "post-meta" >
< i class = "iconfont icon-tags" > < / i >
< a href = "/tags/Memos/" > #Memos< / a >
< / div >
< / div >
< / article >
< / div >
< nav aria-label = "navigation" >
< span class = "pagination" id = "pagination" >
< span class = "page-number current" > 1< / span > < a class = "page-number" href = "/page/2/#board" > 2< / a > < a class = "page-number" href = "/page/3/#board" > 3< / a > < span class = "space" > … < / span > < a class = "page-number" href = "/page/12/#board" > 12< / a > < a class = "extend next" rel = "next" href = "/page/2/#board" > < i class = "iconfont icon-arrowright" > < / i > < / a >
< / span >
< / nav >
< / div >
< / div >
< / div >
< / div >
< / div >
< a id = "scroll-top-button" aria-label = "TOP" 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 >
< / main >
< footer >
< div class = "footer-inner" >
< div class = "footer-content" >
2023-09-25 19:25:30 +08:00
< 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 > < br > PowerBy 浪子 ©2023
2023-09-25 16:36:49 +08:00
< / div >
< div class = "statistics" >
< span id = "leancloud-site-pv-container" style = "display: none" >
总访问量
< span id = "leancloud-site-pv" > < / span >
次
< / span >
< span id = "leancloud-site-uv-container" style = "display: none" >
总访客数
< span id = "leancloud-site-uv" > < / span >
人
< / span >
< / div >
< / div >
< / footer >
<!-- Scripts -->
< script src = "https://lib.baomitu.com/nprogress/0.2.0/nprogress.min.js" > < / script >
< link rel = "stylesheet" href = "https://lib.baomitu.com/nprogress/0.2.0/nprogress.min.css" / >
< script >
NProgress.configure({"showSpinner":false,"trickleSpeed":100})
NProgress.start()
window.addEventListener('load', function() {
NProgress.done();
})
< / script >
< script src = "https://lib.baomitu.com/jquery/3.6.4/jquery.min.js" > < / script >
< script src = "https://lib.baomitu.com/twitter-bootstrap/4.6.1/js/bootstrap.min.js" > < / script >
< script src = "/js/events.js" > < / script >
< script src = "/js/plugins.js" > < / script >
< script src = "https://lib.baomitu.com/typed.js/2.0.12/typed.min.js" > < / script >
< script >
(function (window, document) {
var typing = Fluid.plugins.typing;
var subtitle = document.getElementById('subtitle');
if (!subtitle || !typing) {
return;
}
var text = subtitle.getAttribute('data-typed-text');
jQuery.ajax({
type: 'GET',
url: 'https://v1.hitokoto.cn/?c=i',
headers: {},
dataType: 'json',
success: function(result) {
var apiText;
if (result) {
2023-09-25 19:25:30 +08:00
var keys = 'hitokoto'.split(',');
2023-09-25 16:36:49 +08:00
if (result instanceof Array) {
result = result[0];
}
for (const k of keys) {
var value = result[k];
if (typeof value === 'string') {
apiText = value;
break;
} else if (value instanceof Object) {
result = value;
}
}
}
apiText ? typing(apiText) : typing(text);
},
error: function(xhr, status, error) {
if (error) {
console.error('Failed to request https://v1.hitokoto.cn/?c=i:', error);
}
typing(text);
}
})
})(window, document);
< / script >
< script src = "/js/img-lazyload.js" > < / script >
< script defer src = "/js/leancloud.js" > < / script >
< script src = "/js/local-search.js" > < / script >
<!-- 主题的启动项,将它保持在最底部 -->
<!-- the boot of the theme, keep it at the bottom -->
< script src = "/js/boot.js" > < / script >
< noscript >
< div class = "noscript-warning" > 博客在允许 JavaScript 运行的环境下浏览效果更佳< / div >
< / noscript >
< script > "use strict" ; if ( "serviceWorker" in navigator ) { navigator . serviceWorker . register ( "service-worker.js" ) . then ( ( function ( reg ) { reg . onupdatefound = function ( ) { var installingWorker = reg . installing ; installingWorker . onstatechange = function ( ) { switch ( installingWorker . state ) { case "installed" : if ( navigator . serviceWorker . controller ) { console . log ( "New or updated content is available." ) } else { console . log ( "Content is now available offline!" ) } break ; case "redundant" : console . error ( "The installing service worker became redundant." ) ; break } } } } ) ) [ "catch" ] ( ( function ( e ) { console . error ( "Error during service worker registration:" , e ) } ) ) } < / script > < / body > < / html >