热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

那些年我们搭建Hexo博客(Next主题)遇过的坑

前言之前无意间看到一篇next主题的博客,被next主题的排版模式深深吸引,于是心里有了搭建一个next主题博客的想法。所谓“搭建一分钟,完善两小时”,这句话说的一点都没错(手动捂
前言

之前无意间看到一篇next主题的博客,被next主题的排版模式深深吸引,于是心里有了搭建一个next主题博客的想法。所谓“搭建一分钟,完善两小时”,这句话说的一点都没错(手动捂脸)。从开始搭建到搭建完成一个初始的next主题博客仅仅用了半小时,然而完善next主题各个细节却用了两天时间(强迫症晚期)。。。期间也遇到了各种奇葩问题,内心OS:为什么别人都那么顺利,就我弄的那么磕磕绊绊?不过吐槽归吐槽,最后还是得硬着头皮把问题一个个解决。这是我搭建好的博客:我的博客 希望能够多多支持啊!!!我搭建博客也是力求整洁,一些其他比较花哨的东西就没加进去,重点还是放在文章质量上,虽然现在质量也不咋滴,不过会慢慢提高的。
言归正传,在搭建这个博客的时候确实遇到了一些坑,但是搭建完后回想起来觉得自己做事的方式还需要进一步改善。一开始我的做法是先在网上搜索搭建教程,然后一个个进行初略筛选,选出最靠谱的那一个博客文章作为我的主要参考对象,然后其他文章作为辅助参考。但是这些博客大都大同小异,在反复查看相同的内容挺浪费时间。所以对于还没有开始搭建或者准备搭建的新手来说:

  • 看官方文档:next文档
    官方文档永远是最权威的,正确性有保障,同时也节约筛选参考博客的时间。
  • next版本尽量选择最新版本
    最新版本往往集成了很多插件,很多Bug都已经被修复。
踩过的坑

这里就不一一介绍next主题的配置过程,具体配置过程上转官方文档,接下来就描述一下我在配置过程遇到的问题。

如何实时验证主题

这个问题虽然有点弱智,但是对于没接触过Git的新手一开始还是有点懵逼的,在这里顺便提一下:

  • 切换路径到hexo站点目录(以我的目录为例)

cd /D/Github/blog

结果如图
《那些年我们搭建Hexo博客(Next主题)遇过的坑》

  • 验证主题

hexo s

结果如图
《那些年我们搭建Hexo博客(Next主题)遇过的坑》
红色方框的网址复制到浏览器就能看到验证主题界面。这里用手动输入网址或者手动复制,不要用Ctrl C,否则会出现无法访问网址的情况!!!

代码查看/markdown工具推荐

  • 代码查看工具:Atom
  • markdown工具:Typora
    这两个工具我感觉比较好用,推荐给各位朋友。

如何构建标签/分类页

hexo new page "标签/分类页" //引号内容自己修改

/D/Github/blog/source目录下产生对应名称文件夹
《那些年我们搭建Hexo博客(Next主题)遇过的坑》
打开对应文件的md文件,配置代码如下
《那些年我们搭建Hexo博客(Next主题)遇过的坑》
红色框里的代码是为了关闭该页面的评论页面(之后在安装Leancloud评论系统时会出现这个问题)。
撰写文章的位置:/D/Github/blog/source/_posts目录下的md文件。只需要在每篇文章的开头按照如下格式添加标签和分类,博客里就能正常显示分类和标签页。
《那些年我们搭建Hexo博客(Next主题)遇过的坑》

一些主题的小误区

标题下的分割线不是设置出来的,是Gemini主题自带的,同样首页文章间的间隔也是主题自带的,当时还花了很长时间百度如何配置(当时使用的是Pisces主题所以不知道)。。。
《那些年我们搭建Hexo博客(Next主题)遇过的坑》
《那些年我们搭建Hexo博客(Next主题)遇过的坑》

Valine评论系统配置不成功

这个问题当时差点把我逼疯了,无论如何配置都不行。。。

  • 正常配置
    开启Valine,注册Leancloud,我们的评论系统其实是放在Leancloud上的,因此首先需要去注册一个账号。LeanCloud
    注册完以后需要创建一个应用,名字可以随便起,然后进入应用->设置->应用key,获取你的appidappkey 如图所示:
    《那些年我们搭建Hexo博客(Next主题)遇过的坑》
    拿到你的appidappkey之后,打开主题配置文件搜索 valine,填入appidappkey

valine:
enable: true
appid: your app id
appkey: your app key
notify: false # mail notifier , https://github.com/xCss/Valine/wiki
verify: false # Verification code
placeholder: ヾノ≧∀≦)o来啊,快活啊!
guest_info: nick,mail,link
pageSize: 10

最后!记得在Leancloud -> 设置 -> 安全中心 -> Web 安全域名,把你的域名加进去,刷新一下~

  • 评论页未出现
    当你按照以上步骤未出现评论页时,在排除完人为操作失误后,你应该从其他方向解决这个问题。
    这是 5.1.3版本 的配置文件

valine:
enable: true
appid:
appkey:
notify: false # mail notifier , https://github.com/xCss/Valine/wiki
verify: false # Verification code
placeholder: ヾノ≧∀≦)o来啊,快活啊!

这是 6.0.1版本 的配置文件:

valine:
enable: true
app_id:
app_key:
notify: false # mail notifier , https://github.com/xCss/Valine/wiki
verify: false # Verification code
placeholder: ヾノ≧∀≦)o 来呀!快活呀!~
avatar: mm # gravatar style
guest_info: nick,mail,link # custom comment header
pageSize: 10 # pagination size

app_idapp_key,这两个字段名是不一样的,如果字段名不对,那么是不会去加载Valine.min.js文件,也就是评论系统根本不会生效。所以应该去检查一下自己的next版本看是不是这个原因。

  • 评论页还未出现
    我的情况是之前在找解决方案时跟着其他博客改过valine.swig里面的代码,当然前边的方法都无效。导致出现类似下面的情况(评论框不完整或者评论框底部出现一排排的问号):
    《那些年我们搭建Hexo博客(Next主题)遇过的坑》
    这种情况一般都是valine.swig(路径:next\layout\_third-party\comments\valine.swig)里面的代码有问题导致的。
    首先下载最新的Valine.min.js核心代码库到本地(下面是链接):
    Valine.min.js核心代码库
    《那些年我们搭建Hexo博客(Next主题)遇过的坑》
    红色箭头选择最新版本,右击Valine.min.js选择链接另存为即可,将下载好的Valine.min.js 放置于 next\source\js\src\ 下。
    接下来更改valine.swig里面的代码,进入Valine_CDN,点击使用CDN
    《那些年我们搭建Hexo博客(Next主题)遇过的坑》
    《那些年我们搭建Hexo博客(Next主题)遇过的坑》
    《那些年我们搭建Hexo博客(Next主题)遇过的坑》
    将里面的代码复制到本地valine.swig里面,点击保存,最后应该能够解决,这里提醒一下原文件最好做一个备份,万一代码出错还能还原回去!!!

博客文章中无法加载出图片

这也是个极其蛋疼的问题,也捣鼓了好久。。。

  • 常规配置
    安装一个图片路径转换的插件,这个插件名字是hexo-asset-image

npm install https://github.com/CodeFalling/hexo-asset-image --save

打开站点_config.yml文件,修改下述内容

post_asset_folder: true

Hexo将会在你每一次通过 hexo new " "命令创建新文章时自动创建一个文件夹。这个资源文件夹将会有与这个 markdown 文件一样的名字。将所有与你的文章有关的资源放在这个关联文件夹中之后。再通过![图片描述](图片路径)的方式在mrakdown中插入文件。

  • 问题出现
    然而上面的方式依然不能解决问题,markdown能够插入图片且正常显示,但是网上的博客依然无法显示图片。。。
    经过不断的百度,终于在一篇博客中找到解决办法,真是一把辛酸泪。。。
    附上链接:hexo
    《那些年我们搭建Hexo博客(Next主题)遇过的坑》
    问题终于找到:
    将这条命令{% asset_img example.jpg This is an example image %}复制到markdown上,按照此格式插入图片就能成功。example.jpg是目标图片,This is an example image是图片描述,记得它们之间都有空格。
总结

其他的问题都是小问题了,这里就不一一阐述了。搭建这个博客前前后后花了大概3天时间,在这段折腾的时间里我也收获了很多,也逐渐熟悉了搭建博客的整个过程,记录一下hh

最后!!!欢迎前往我的博客,大家相互交流:我的博客


推荐阅读
  • Java工程师书单(初级,中级,高级)
    简介怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作一两年之后开始迷茫的程序 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 一面自我介绍对象相等的判断,equals方法实现。可以简单描述挫折,并说明自己如何克服,最终有哪些收获。职业规划表明自己决心,首先自己不准备继续求学了,必须招工作了。希望去哪 ... [详细]
  • 结合“性能监视器”排查、处理性能瓶颈导致应用吞吐率等指标上不去的问题
    双11备战前夕,总绕不过性能压测环节,TPS一直上不去不达标,除了代码上的问题外,服务器环境、配置、网络、磁盘、CPU亦是导致性能瓶颈的重要一环,本文旨在分享最近项目性能 ... [详细]
  • 电信网为不能访问联通服务器的网站_老板说网站慢,我们总结了三大阶段提升性能...
    作者:李平来源:https:www.cnblogs.comleefreemanp3998757.html前言在前一篇随笔《大型网站系统架构的演化》中&# ... [详细]
  • AngularJS 提交表单的方式(一)
    英文原文:SubmittingAJAXForms:TheAngularJSWay在AngularJS出现之前,很多开发者就面对了表单提交这一问题。由于提 ... [详细]
  • 1.设置MarkDown补全代码1.VSCode首选项用户代码片段MarkDown2.设置补全内容,如cpp代码块c++,$1,光标停留位置2.打开自定义补全功能1.文件首选项设置 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • 本文介绍了网页播放视频的三种实现方式,分别是使用html5的video标签、使用flash来播放以及使用object标签。其中,推荐使用html5的video标签来简单播放视频,但有些老的浏览器不支持html5。另外,还可以使用flash来播放视频,需要使用object标签。 ... [详细]
author-avatar
手机用户2702935840
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有