1 秒钟教程
看完 1 秒钟教程,后面初始化用来理解和查缺补漏
安装
在没有 root 权限的文件下,打开 Git Bash,Linux 或 mac 打开终端,运行以下代码
苹果电脑用
1 | git clone --depth 1 https://gitee.com/weilining/quick-hexo-next.git blog && cd blog && npm config set registry http://registry.npm.taobao.org && sudo npm install hexo-cli@latest -g && npm i && npm ls --depth 0 && hexo cl && hexo s |
其他
1 | git clone --depth 1 https://gitee.com/weilining/quick-hexo-next.git blog && cd blog && npm config set registry http://registry.npm.taobao.org && npm install hexo-cli@latest -g && npm i && npm ls --depth 0 && hexo cl && hexo s |
预览
初始化
开始
先配置好以下环境
Git
Node.js
1 | git --version |
Hexo
代理快速安装
1 | npm config set registry http://registry.npm.taobao.org |
本地预览
1 | hexo cl && hexo s |
生成静态网页文件
1 | hexo cl && hexo g # 静态网页文件在 blog/public 里 |
写作
1 | hexo new "带空格的帖子标题" # 创建一篇新文章 |
进阶
先准备好以下
GitHub 账号
创建
_config.next.yml
(在_config.yml
旁边)
NexT
代理快速安装
1 | cd blog |
配置
_config.yml
的theme: landscape
改成下面的
1 | theme: next |
网页个人信息
_config.yml
1 | title: Ln's Blog # 标题 |
域名
_config.yml
的url: http://example.com
1 | url: https://weilining.github.io |
缓存
_config.next.yml
加入以下代码
1 | cache: |
生成 hexo 后,删除不必要的文件。
_config.next.yml
加入以下代码
1 | minify: true # 生成hexo后,删除不必要的文件。 |
换 Gemini 方案
_config.next.yml
加入以下代码
可选四种方案
💟 Muse | 🔯 Mist | ♓️ Pisces | ♊️ Gemini
1 | # Schemes |
暗模式
_config.next.yml
加入以下代码
1 | darkmode: true #暗模式 |
网站信息设置
_config.next.yml
加入以下代码
1 | favicon: |
自定义徽标
_config.next.yml
加入以下代码
1 | custom_logo: /uploads/custom-logo.jpg |
版权声明
_config.next.yml
加入以下代码
1 | creative_commons: |
菜单栏
_config.next.yml
加入以下代码
1 | menu: |
菜单栏设置
_config.next.yml
加入以下代码
1 | menu_settings: |
侧边栏设置
_config.next.yml
加入以下代码
1 | sidebar: |
侧边栏头像
_config.next.yml
加入以下代码
1 | avatar: |
边栏中的帖子/类别/标签
_config.next.yml
加入以下代码
1 | site_state: true |
联系方式
_config.next.yml
加入以下代码
1 | social: |
友链
_config.next.yml
加入以下代码
1 | links_settings: |
文章目录
_config.next.yml
加入以下代码
1 | toc: |
页脚设置
_config.next.yml
加入以下代码
1 | footer: |
自动摘录首页中的描述作为前导文字
_config.next.yml
加入以下代码
1 | excerpt_description: true # 自动摘录首页中的描述作为前导文字。 |
阅读更多按钮
_config.next.yml
加入以下代码
1 | read_more_btn: true |
发布元显示设置
_config.next.yml
加入以下代码
1 | post_meta: |
使用图标代替符号#在帖子底部指示标签
_config.next.yml
加入以下代码
1 | tag_icon: true # 使用图标代替符号#在帖子底部指示标签 |
打赏
_config.next.yml
加入以下代码
1 | reward_settings: |
在线轻松浏览和编辑博客源代码
_config.next.yml
加入以下代码
1 | post_edit: |
在帖子页脚中显示上一个帖子和下一个帖子(如果存在)
_config.next.yml
加入以下代码
1 | post_navigation: left |
标签页面的 TagCloud 设置
_config.next.yml
加入以下代码
1 | tagcloud: |
预连接 CDN 以获取字体和插件
_config.next.yml
加入以下代码
1 | preconnect: true |
减少宽度较窄的设备上的填充/边距缩进
_config.next.yml
加入以下代码
1 | mobile_layout_economy: true # 手机文章紧挨着 |
Android Chrome 标题面板颜色($ brand-bg / $ headband-bg => $ black-deep)
_config.next.yml
加入以下代码
1 | android_chrome_color: "#222" |
代码 mac 风格&&粘贴按钮
_config.next.yml
加入以下代码
1 | codeblock: |
阅读百分比显示
_config.next.yml
加入以下代码
1 | back2top: |
阅读进度条
_config.next.yml
加入以下代码
1 | reading_progress: |
书签
_config.next.yml
加入以下代码
1 | bookmark: |
横幅位于右上角
_config.next.yml
加入以下代码
1 | github_banner: |
字体
_config.next.yml
加入以下代码
1 | font: |
SEO 设置
_config.next.yml
加入以下代码
1 | disable_baidu_transformation: true # 禁用移动设备上的百度转换,建议 true |
LaTex 支持
_config.next.yml
加入以下代码
1 | math: |
站内页面刷新
_config.next.yml
加入以下代码
1 | pjax: true # 站内页面刷新 |
另外,关于开启 pjax,页面切换后,再回到首页,js 不会重新加载的问题。请在引入 js 的位置给标签添加[dat
a-pjax]属性。
1 | <script data-pjax src=.js”></script> |
图片浏览
实现该功能的基础是在文章中插入图片。该项功能的效果是:点击文中插图,图片能够放大,有幻灯片的效果。目前 NexT 提供了两款插件 fancybox 和 mediumzoom,两款插件开启一个即可。两款插件的效果不同,各有各的特点,我推荐使用 mediumzoom。
图像的缩放功能
_config.next.yml
加入以下代码
1 | fancybox: true |
查看大图
_config.next.yml
加入以下代码
1 | mediumzoom: true # 查看大图 |
图片懒加载
_config.next.yml
加入以下代码
1 | lazyload: true # 图片懒加载 |
Pangu
_config.next.yml
加入以下代码
1 | pangu: true |
quicklink
_config.next.yml
加入以下代码
1 | quicklink: |
来必力评论
_config.next.yml
加入以下代码
1 | livere_uid: MTAyMC80NDkyOC8yMTQ1MA== |
不蒜子网站访客统计
_config.next.yml
加入以下代码
1 | busuanzi_count: |
1 | pdf: |
Markdown
1 | {% pdf /path/to/your/file.pdf %} |
动画且异步加载
_config.next.yml
加入以下代码
1 | motion: |
加载动画
_config.next.yml
加入以下代码
1 | nprogress: |
丝带
_config.next.yml
加入以下代码
1 | canvas_ribbon: |
打开 jsdelivr 加速
_config.next.yml
加入以下代码
1 | vendors: |
资产
_config.next.yml
加入以下代码
1 | css: css |
部署到 GitHub
GitHub 创建仓库并打开 GitHub Pages 功能
仓库名:Github 用户名.github.io
例如:weilining.github.io
验证仓库是否创建成功:https://github.com/weilining/weilining.github.io
PS:记得打开 GitHub Pages
setting->GitHub Pages
URL 设置
_config.yml
的url: http://example.com
改成下面的
1 | url: https://weilining.github.io |
安装模块
1 | npm install hexo-deployer-git |
配置
1 | deploy: |
获取 GitHub Personal Access Token 方法
GitHub Pages 预览
高级
先准备好以下
- 创建
blog/source/_data/styles.styl
搜索
插件安装
1 | npm install hexo-generator-searchdb |
配置
_config.yml
1 | search: |
_config.next.yml
1 | local_search: |
RSS 订阅
官方文档
https://github.com/hexojs/hexo-generator-feed
模块安装
1 | npm i hexo-generator-feed |
配置
_config.next.yml
1 | social: |
live2d 宠物
模块安装
1 | npm install hexo-helper-live2d |
配置
_config.yml
1 | live2d: |
jsdelivr 配置
1 | live2d: |
背景透明
blog/source/_data/styles.styl
1 | // 背景透明 |
背景图
blog/source/_data/styles.styl
1 | //背景 |
插入图片
_config.yml
的post_asset_folder: true
改成下面的
1 | # https://hexo.io/zh-cn/docs/asset-folders |
访客地图
获取访客地图脚本
脚本颜色
Home/My Websites/Weilining.cf Widget Code & Customization
Widget Customization
site
选Auto
1 | Ocean Color: #282828 |
脚本放站点底部
/blog/source/_data/footer.njk
没有文件就创建
1 | <script type='text/javascript' id='clustrmaps' src='//cdn.clustrmaps.com/'></script> |
主题配置
_config.next.yml
1 | custom_file_path: |
百度 SEO
模块安装
1 | npm install hexo-generator-baidu-sitemap |
配置
_config.yml
后面加上以下代码
1 | baidusitemap: |
hexo cl && hexo s
http://localhost:4000/baidusitemap.xml
百度、必应、主动推送
站点地图模块安装
1 | npm install --save hexo-submit-urls-to-search-engine |
配置
普通收录->资源提交->API 提交->推送接口里有 token
_config.yml
后面加上以下代码
1 | hexo_submit_urls_to_search_engine: |
_config.yml
的deploy:
改成
1 | deploy: |
_config.yml
的url: http://example.com
改成
1 | url: https://weilining.cf |
hexo cl &&hexo g && hexo d
最后出现{"remain":2996,"success":2}
即可
谷歌 SEO
站点地图模块安装
1 | npm install hexo-generator-sitemap |
配置
_config.yml
后面加上以下代码
1 | sitemap: |
hexo cl && hexo s
http://localhost:4000/sitemap.xml
_config.next.yml
加上以下代码
1 | google_site_verification: KZjcRcBkV43JHcyiH4z1Yk2xu-mqlS1fQNk5Dzv7_q0 |
部署
GitHub 先创建一个任意名字的私有仓库(一个私有仓库的 GitHub Pages 分支是公开的,其他分支私有)
直接部署 GitHub Pages
安装模块
1 | npm install hexo-deployer-git --save |
配置
blog/_config.yml
1 | deploy: |
推送到 GitHub 远程仓库
1 | hexo cl && hexo g && hexo d |
打开 GitHub Pages
进入项目->settings 找到 GitHub Pages,选择 GitHub Pages 的分支 gh-pages,打开 GitHub Pages
域名绑定
创建 CNAME
blog/source 里创建 CNAME 文件,全大写,CNAME 里写入
1 | lllll.cf |
域名管理
设置 CNAME 记录,填入 github.io
GitHub Action 部署到 GitHub Pages
设置 secrets
进入项目->settings/secrets 增加三个参数
1 | GH_NAME |
配置
.github/workflows/main.yml
1 | name: Deploy Blog |
打开 GitHub Pages
进入项目->settings 找到 GitHub Pages,选择 GitHub Pages 的分支 gh-pages,打开 GitHub Pages
域名绑定
创建 CNAME
blog/source 里创建 CNAME 文件,全大写,CNAME 里写入
1 | lllll.cf |
域名管理
设置 CNAME 记录,填入 github.io
服务器
blog/public
下所有文件复制到 nginx 的 web 服务器根目录
部署到 vercel
注册 vercel
https://vercel.com,GitHub邮箱换谷歌邮箱,进行注册
通过 GitHub 源码部署到 vercel
选 Import a Git Repository,仓库 https 填入。
FRAMEWORK PRESET 选择 Hexo,然后 Deploy
域名绑定
进入 vercel 项目,settings/domains,填入 lllll.cf,域名管理设置 A 记录,ip 填入 76.76.21.21
添加一言
blog/source/_data/sidebar.njk
将下面这段代码放入页面内需要展示一句话的位置即可。
1 | {# 一言 #} |
中英文版 使用方法同上
1 | <script type="text/javascript" src="https://api.uixsj.cn/hitokoto/en.php?code=js"></script><div id="enhitokoto"><script>enhitokoto()</script></div> |
音乐播放器
下载源码
1 | cd blog |
配置
_config.next.yml
1 | custom_file_path: |
/source/_data/header.njk
1 | <!-- 加入APlayer音乐播放器 --> |
放入自己喜欢的音乐
在blog/source/dist
目录里,新建 music.js 文件,并把如下代码粘贴进去。
1 | const ap = new APlayer({ |
发布字数显示设置
模块安装
1 | npm install hexo-word-counter |
配置
_config.next.yml
加入下面代码
1 | symbols_count_time: |
文章模版
blog/scaffolds/post.md
改成下面代码
1 | --- |
hexo new post,就有上面的模版了
文章缩合
你想缩合的地方使用下面代码
1 | <!-- more --> |
鼠标点击烟花
主题配置
_config.next.yml
1 | custom_file_path: |
创建 body-end.njk
blog/source/_data/body-end.njk
没有就创建
1 | <canvas class="fireworks" style="position: fixed;left: 0;top: 0;z-index: 1; pointer-events: none;"></canvas> |
创建 fireworks.js
blog/source/js/cursor/fireworks.js
没有就创建
1 | "use strict";function updateCoords(e){pointerX=(e.clientX||e.touches[0].clientX)-canvasEl.getBoundingClientRect().left,pointerY=e.clientY||e.touches[0].clientY-canvasEl.getBoundingClientRect().top}function setParticuleDirection(e){var t=anime.random(0,360)*Math.PI/180,a=anime.random(50,180),n=[-1,1][anime.random(0,1)]*a;return{x:e.x+n*Math.cos(t),y:e.y+n*Math.sin(t)}}function createParticule(e,t){var a={};return a.x=e,a.y=t,a.color=colors[anime.random(0,colors.length-1)],a.radius=anime.random(16,32),a.endPos=setParticuleDirection(a),a.draw=function(){ctx.beginPath(),ctx.arc(a.x,a.y,a.radius,0,2*Math.PI,!0),ctx.fillStyle=a.color,ctx.fill()},a}function createCircle(e,t){var a={};return a.x=e,a.y=t,a.color="#F00",a.radius=0.1,a.alpha=0.5,a.lineWidth=6,a.draw=function(){ctx.globalAlpha=a.alpha,ctx.beginPath(),ctx.arc(a.x,a.y,a.radius,0,2*Math.PI,!0),ctx.lineWidth=a.lineWidth,ctx.strokeStyle=a.color,ctx.stroke(),ctx.globalAlpha=1},a}function renderParticule(e){for(var t=0;t<e.animatables.length;t++){e.animatables[t].target.draw()}}function animateParticules(e,t){for(var a=createCircle(e,t),n=[],i=0;i<numberOfParticules;i++){n.push(createParticule(e,t))}anime.timeline().add({targets:n,x:function(e){return e.endPos.x},y:function(e){return e.endPos.y},radius:0.1,duration:anime.random(1200,1800),easing:"easeOutExpo",update:renderParticule}).add({targets:a,radius:anime.random(80,160),lineWidth:0,alpha:{value:0,easing:"linear",duration:anime.random(600,800)},duration:anime.random(1200,1800),easing:"easeOutExpo",update:renderParticule,offset:0})}function debounce(e,t){var a;return function(){var n=this,i=arguments;clearTimeout(a),a=setTimeout(function(){e.apply(n,i)},t)}}var canvasEl=document.querySelector(".fireworks");if(canvasEl){var ctx=canvasEl.getContext("2d"),numberOfParticules=30,pointerX=0,pointerY=0,tap="mousedown",colors=["#FF1461","#18FF92","#5A87FF","#FBF38C"],setCanvasSize=debounce(function(){canvasEl.width=2*window.innerWidth,canvasEl.height=2*window.innerHeight,canvasEl.style.width=window.innerWidth+"px",canvasEl.style.height=window.innerHeight+"px",canvasEl.getContext("2d").scale(2,2)},500),render=anime({duration:1/0,update:function(){ctx.clearRect(0,0,canvasEl.width,canvasEl.height)}});document.addEventListener(tap,function(e){"sidebar"!==e.target.id&&"toggle-sidebar"!==e.target.id&&"A"!==e.target.nodeName&&"IMG"!==e.target.nodeName&&(render.play(),updateCoords(e),animateParticules(pointerX,pointerY))},!1),setCanvasSize(),window.addEventListener("resize",setCanvasSize,!1)}"use strict";function updateCoords(e){pointerX=(e.clientX||e.touches[0].clientX)-canvasEl.getBoundingClientRect().left,pointerY=e.clientY||e.touches[0].clientY-canvasEl.getBoundingClientRect().top}function setParticuleDirection(e){var t=anime.random(0,360)*Math.PI/180,a=anime.random(50,180),n=[-1,1][anime.random(0,1)]*a;return{x:e.x+n*Math.cos(t),y:e.y+n*Math.sin(t)}}function createParticule(e,t){var a={};return a.x=e,a.y=t,a.color=colors[anime.random(0,colors.length-1)],a.radius=anime.random(16,32),a.endPos=setParticuleDirection(a),a.draw=function(){ctx.beginPath(),ctx.arc(a.x,a.y,a.radius,0,2*Math.PI,!0),ctx.fillStyle=a.color,ctx.fill()},a}function createCircle(e,t){var a={};return a.x=e,a.y=t,a.color="#F00",a.radius=0.1,a.alpha=0.5,a.lineWidth=6,a.draw=function(){ctx.globalAlpha=a.alpha,ctx.beginPath(),ctx.arc(a.x,a.y,a.radius,0,2*Math.PI,!0),ctx.lineWidth=a.lineWidth,ctx.strokeStyle=a.color,ctx.stroke(),ctx.globalAlpha=1},a}function renderParticule(e){for(var t=0;t<e.animatables.length;t++){e.animatables[t].target.draw()}}function animateParticules(e,t){for(var a=createCircle(e,t),n=[],i=0;i<numberOfParticules;i++){n.push(createParticule(e,t))}anime.timeline().add({targets:n,x:function(e){return e.endPos.x},y:function(e){return e.endPos.y},radius:0.1,duration:anime.random(1200,1800),easing:"easeOutExpo",update:renderParticule}).add({targets:a,radius:anime.random(80,160),lineWidth:0,alpha:{value:0,easing:"linear",duration:anime.random(600,800)},duration:anime.random(1200,1800),easing:"easeOutExpo",update:renderParticule,offset:0})}function debounce(e,t){var a;return function(){var n=this,i=arguments;clearTimeout(a),a=setTimeout(function(){e.apply(n,i)},t)}}var canvasEl=document.querySelector(".fireworks");if(canvasEl){var ctx=canvasEl.getContext("2d"),numberOfParticules=30,pointerX=0,pointerY=0,tap="mousedown",colors=["#FF1461","#18FF92","#5A87FF","#FBF38C"],setCanvasSize=debounce(function(){canvasEl.width=2*window.innerWidth,canvasEl.height=2*window.innerHeight,canvasEl.style.width=window.innerWidth+"px",canvasEl.style.height=window.innerHeight+"px",canvasEl.getContext("2d").scale(2,2)},500),render=anime({duration:1/0,update:function(){ctx.clearRect(0,0,canvasEl.width,canvasEl.height)}});document.addEventListener(tap,function(e){"sidebar"!==e.target.id&&"toggle-sidebar"!==e.target.id&&"A"!==e.target.nodeName&&"IMG"!==e.target.nodeName&&(render.play(),updateCoords(e),animateParticules(pointerX,pointerY))},!1),setCanvasSize(),window.addEventListener("resize",setCanvasSize,!1)}; |
在线联系功能
Hexo 博客添加在线联系功能
Hexo 博客如何添加在线联系功能呢,发现了一个不错的网站可以提供在线联系的服务,当有用户在网页上给你留言后会通过邮件或者微信通知你,可以及时的解答用户的疑问。
最终的效果可以参考我博客的右下角,有个聊天的按钮,效果如下所示:
配置方法如下:
首先到 DaoVoice 上注册一个账号,注册完成后会得到一个 app_id,获取 appid 的步骤如下图所示:
以 next 主题为例,打开/themes/next/layout/_partials/head.swig 文件添加如下
复制
1 | {% if theme.daovoice %} |
接着打开主题配置文件_config.yml,添加如下代码:
复制
1 | # Online contact |
最后执行 hexo clean && hexo g && hexo s 就能看到效果了。
需要注意的是,next 主题下聊天的按钮会和其他按钮重叠到一起,可以到聊天设置,修改下按钮的位置:
最后到右上角选择管理员,微信绑定,可以绑定你的微信号,关注公众号后打开小程序,就可以实时收发消息,有新的消息也会通过微信通知,设置页面如下:
效果展示: 酱油哥博客
友盟站长统计
Canvas 实现《黑客帝国》特效
脚本放站点底部
/blog/source/_data/footer.njk
没有文件就创建
1 | <script src="https://cdn.jsdelivr.net/npm/canvas-matrix.js@0/canvas-matrix.min.js"></script> |
主题配置
_config.next.yml
1 | custom_file_path: |
顶级
SEO 优化
缩短 url
_config.yml
的permalink: :year/:month/:day/:title/
改成
1 | permalink: :title.html |
NexT 防止外链搜索
blog/_config.next.yml
1 | exturl: true # 使用Base64加密和解密自动添加外部URL。 |
hexo cl && hexo s
其他主题防外链
模块安装
1 | npm i hexo-filter-nofollow |
配置
_config.yml
1 | nofollow: |
robots.txt
1 | cd blog |
robots.txt
的内容
1 | # 允许所有用户代理的浏览器爬虫进行访问(爬取数据) |
移动
1 | curl -A 'Mozilla/5.0 (Linux;u;Android 4.2.2;zh-cn;) AppleWebKit/534.46 (KHTML,like Gecko) Version/5.1 Mobile Safari/10600.6.3 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)' https://weilining.cf |
PC
1 | curl -A 'Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)' https://weilining.cf |
加载性能优化
quicklink
blog/_config.next.yml
1 | quicklink: |
CDN
建议:要开启 CDN,先删除其他 A/AAAA,只留一条。关闭 CDN 之后再加多条 A/AAAA。
MarkDown 书写
二级标题后紧跟的子标题级别必须是三级标题。
一个页面一个 H1 标签,以二级标题为起点,二级标题不要太多。
1 | ## 标题 |
jsDelivr 全站托管
加速主题和 css
_config.next.yml
1 | avatar: |
加速 js
blog/source/_data/body-end.njk
1 | <!-- 社会主义价值观 --> |
加速 images
blog/source/_data/styles.styl
1 | body{ |
优化
只留必要依赖
主题配置文件 _config.next.yml
中不必要的依赖不要添加。
比如对我来说,3D 效果之类的都没必要,所以 canvas_ribbon.js
啥的都不必开启。
最后用到的有:
- quicklink:预加载用户视区中的链接
- pjax:站内页面刷新
- lazyload:图片懒加载
- mediumzoom:查看大图
quicklink 我没啥感觉;
pjax,由于网络原因,我偶尔会觉得浏览器(网页)卡死了;
lazyload 和 mediumzoom 有点效果,不过虽然我这也没几张图就是了……
能上 CDN 的先上 CDN
前提:我把博客放 Github Pages 的。
看的这篇文章,尝试了下:JsDelivr 全站托管
js、css、images 用 jsdelivr 加速
在 _config.next.yml
下修改 Assets
:
1 | css: //cdn.jsdelivr.net/gh/weilining/blog.io/css |
avater、favicon
1 | {{ theme.images }} == //cdn.jsdelivr.net/gh/weilining/blog.io/images |
favicon、avatar 不包含在 images 里,需要单独改下。
images 仅包含文章引用的本地图片。
字体
默认的快
各种依赖
在 _config.next.yml
的 vendors
配置。
也全用 jsdelivr
的比较好。
我用到的一些依赖:
1 | vendors: |
静态资源压缩 hexo-neat
模块安装
1 | npm install hexo-neat |
配置
_config.yml
1 | # hexo-neat |
静态资源压缩 Hexo-all-minifier
模块安装
1 | npm install hexo-all-minifier --save |
配置
_config.yml
1 | all_minifier: true |
GitHub Action 自动构建
blog/.github/workflows/main.yml
没有就创建,main.yml
写入下面代码
1 | name: Deploy Hexo |
图床使用 jsdelivr 加速
PicGO
Windows 下载地址:https://github.com/Molunerfinn/PicGo/releases/download/v2.2.2/PicGo-Setup-2.2.2.exe
macOS 下载地址:https://github.com/Molunerfinn/PicGo/releases/download/v2.2.2/PicGo-2.2.2.dmg
GitHub
创建一个叫 img 的仓库,用于存放图片
jsdelivr
PicGo->图床设置->GitHub 图床
1 | 设定仓库名:weilining/img |
工具
网页访问速度测试
页面加载性能测试
各平台收录查询
百度收录 weilining.cf 查询
必应收录 weilining.cf 查询
谷歌收录 weilining.cf 查询
360 收录 weilining.cf 查询
yandex 收录 weilining.cf 查询
搜狗收录 weilining.cf 查询
各平台 Robots.txt 测试工具
各平台管理
插件
插件名 | 版本号 | 官方文档 | 功能 | NexT 集成 |
---|---|---|---|---|
hexo-related-popular-posts | GitHub | 相关文章 | 是 | |
hexo-generator-baidu-sitemap | 百度站点地图 | 否 | ||
hexo-generator-sitemap | 谷歌站点地图 | 否 | ||
hexo-deployer-git | 部署 | 否 | ||
hexo-generator-searchdb | 本地搜索 | 是 | ||
hexo-generator-feed | RSS | 是 | ||
hexo-submit-urls-to-search-engine | 百度主动推送 | 否 | ||
hexo-word-counter | 文字数 | 是 | ||
hexo-theme-next | NexT 主题 | 是 | ||
hexo-helper-live2d | GitHub | 宠物 | 否 | |
live2d-widget-model-wanko | 模型 | 宠物模型 | 否 |
参考
https://gitee.com/weilining/hexo-starter/blob/master/_config.yml
https://gitee.com/weilining/hexo-theme-next/blob/master/_config.yml
theme-next-docs/_config.next.yml