本文说明
- Hexo作为静态化博客,受到欢迎,本文作者在2018年-2019年进行Hexo的平台搭建,文章编辑,构建发布,以及主题,插件等等各类应用的尝试和体验,最后在一些利弊考虑下,选择暂停Hexo的使用和维护。
- 本文在之前的几篇文章中,进行内容上的整合和整理,希望在这个文章中可以总结自己的过程中的感受以及得失,同时也分享出来可以进行交流和沟通。
- 文章编写于2020年2月17日,作者 lweein, 字数约字 7000字
Hexo最初的初心和思考
以下文字是2018年12月23日编写,这里做总结和归纳
网站使用Hexo 纯静态博客程序 + Next 主题 最新的 6.0 版本进行构建。在本地进行安装,配置和调试工作。目前的使用方式是使用 hexo yuque 插件,在语雀编辑器上进行文章编辑,因为这个编辑器用起来的感觉是最舒服的。
语雀编辑器的使用
现在的文章编写之后,需要在本地进行文章拉取,然后构建,测试和发布,听说12月24日开始语雀开放全平台的webhook的方式,那么应该可以做到,语雀发布文章之后,触发webhook,然后推送到Git平台,然后通过Cl的持续构建,比如Jenkins或者其他方式,进行云端构建,然后通过YML的脚本,进行自动发布和部署。
Next 主题的使用
原来在使用wordpress的时候,在Github上用过一段时间的Next主题的改造版本,留下了很深的印象。现在开始使用Hexo之后,发现Next 仿佛是最受欢迎的主题之一。而且在初步调试和使用过程中发现确实很不错。当然开始是找到了5.0版本的,因为搜索到了中文的文档,后来发现最新的已经是6.6版本的,在Github上。然后在5.0升级到 6.0的过程中,遇到了一个大坑。就是无法进行直接升级,必须进行主题替换,然后_config.yml 文件进行修改和重新配置才可以,并不能直接升级,好尴尬。
**
线上部署COS+CDN 和Github 的搭配
考虑到在阿里云和腾讯云上使用的比较顺手,同时已经有了很成熟的COS+CDN+HEXO的方案,同时使用腾讯云COS自定义域名的话必须在腾讯云有国内备案,而且亲测这个国内打开的速度确实是很快。所以https://www.lweein.cn 主力域名配备到了CDN上,对COS进行加速,同时配备了HTTPS 和HTTPS 2.0 以及CDN层面上的智能压缩,Gzip等一系列的优化方式。
Github 上应该说只是一种Git Type 推送的尝试,因为打开速度确实只能说一般,在国内,可能2019年后会逐步考虑国际层面上的优化和处理。暂时只需要Github上可以同时推送即可。
Coding Git 私有代码库存储网站源代码
基于COS+CDN和Github的部署是网站最终展现的形式,但是对于网站程序的源代码还是需要一个存放的地方,本来考虑的是Coding,因为是黄金会员,最近发现Coding好像和腾讯云深度合作,全部升级为腾讯云开发平台还是什么的。只好升级到那里之后,创建一个私有Git代码库,用来存放程序源代码。
发现升级之后是有持续构建的功能,仿佛是云上自动可以跑Jenkins,只需要编写一个JenkinsFile 就可以,这个脚本可以让公司的小伙伴帮忙处理一下,后期看能否依托于全新的腾讯云+Coding的平台,达到持续构建的目的。
当然,后期还是会考虑测试一下使用Docker 进行构建和测试。体验一下差别。后期也会考虑测试一下Flow.Cl,或者Travis.Cl的方式。
持续构建和集成
现在的流程比较原始,语雀编写,本地文章拉取,本地构建测试,本地deploy到云端。除了发布到云上之外,还要git push 源代码。
接下来主要考虑就是依托于 语雀的webhook,触发Git,进行Jenkins或Docker进行自动构建,自动deploy到发布平台。最终做到 语雀肆意发布文章,保存之后,若干时间之后 。。。全部发布完成 。
当然,后期还会继续探索,多平台的发布方式,比如,比如知乎,比如人人都是产品经理等等众多投稿平台,以及微博公众号等等。虽然可能很难做到同步推送。但是尽可能做到一个智能化的方式。
程序上的功能优化和性能优化
现在Hexo和Next 都进行了多种情况下的优化,也安装了很多的组件,后期会专门编写一个帖子,来记录和说明一下所做的优化。否则自己一定会忘记的。那么后期进行整理的时候就会比较被动了。
任何技术路线,文档,注释,都是 ** 必须得有的啊** 。
SEO的优化和国际化的拓展
暂时制作了百度的提交,因为插件和方案比较成熟,接下来会考虑集成一下 熊掌号 。以及Google的收入,以及其他各类seo的优化方式。
Hexo+Next程序部署的插件和优化
以下文字编写于2018年12月24日,这里做总结和归纳
SEO和站点收录相关
【已完成】【SEO】百度主动提交链接
【已完成】【SEO】百度主动推送熊掌号
【已完成】【SEO】熊掌号认证,绑定,主动推送服务正式开启
【已完成】【SEO】sitemap百度和谷歌同步生成和处理,百度robots 文件生成配置
【已完成】【SEO】百度站点验证和熊掌号开通
【已完成】【SEO】百度统计功能增加
【已完成】【SEO】修改固定链接模式,提高SEO优化
【已完成】【SEO】谷歌SearchConsole 站长站点收录
【已完成】【SEO】Robots 文件因为固定链接修改导致Posts 和About被Now Allow的问题解决了
代码压缩,性能优化,各种辅助功能优化
【已完成】【性能】Gulp 4.0 的安装和配置
【已完成】【优化】Package.json 使用Scripts 配置方式,一行代码npm run build 解决语雀数据清除,语雀数据拉取,Hexo清除,Hexo G,Gulp 压缩,和 Hexo Deploy
【已完成】【功能】网站底部统计字数功能
【已完成】【功能】文章字数统计和阅读时间统计功能
【已完成】【完善】文章编辑器采用语雀平台进行编辑
【已完成】【功能】增加RSS 订阅功能
【已完成】【完善】增加个人打赏微信和支付宝二维码功能
【已完成】【完善】增加Skywen天问信息团队小程序订阅二维码展示
【已完成】【完善】增加友情链接功能
【已完成】【功能】增加LocalSearch 搜索功能
【已完成】【完善】底部增加ICP备案和Hexo版本,Next版本说明
【已完成】【功能】文章底部增加作者,版权,和链接声明
【已完成】【完善】增加完善Favicon.ico以及不同版本的更新
【暂时搁置】【功能】增加Valine 评论系统 - 综合考虑觉得Valine虽然简介,但是槽点很多。暂时不开启评论了
【未完成】【功能】增加NeedmoreShare2 分享功能
【未完成】【功能】在build之后,因为腾讯云COS+CDN无法自动刷新缓存的情况下。调用CDN目录api接口提交自动刷新请求。
【已完成】【优化】增加不蒜子的网站访问量统计功能
程序部署,持续构建,自动集成优化
【已完成】【部署】国内使用腾讯云COS+CDN 部署和加速
【已完成】【部署】国外使用Github+Pages 进行部署
【已完成】【解析】针对境内线路走COS+CDN,境外线路走Github的处理。双路解析生效
【已完成】【备份】博客源代码存放在腾讯云开发平台Coding的私密仓库
【未完成】【部署】使用腾讯云开发者平台Coding的JenkinsFile 持续构建功能自动构建和部署Hexo
Hexo使用中的吐槽和评价
以下文字编写于2018年12月29日,这里做总结和归纳
在Hexo+Next使用的这大半个月的时间里。学到了很多的东西,也遇到了很多的坑。总的来说。Hexo基本上就是给前端和初学的人一个折腾的博客 。也就是这样吧。更多的实在不知道应该说。下面会在 短短半个多月的Hexo+Next的使用经验 以及 Wordpress 超过10年的使用历程 ,以及其他 **PJblog,Discuz,Zblog, Emlog,Ghost等等杂七杂八论坛和博客 **的使用基础之上,给出一个我自己的评价和分析。
以下全部分析,大多数是Hexo的个人吐槽,和WP的个人使用经验分析对比。每个人感受不同。请嘴下留情。
摘要的 的处理
Hexo里面和Next里面最推荐的都是使用 来进行提供摘要功能,不推荐使用auto的方式。为了各种什么插件什么需求的。但是在实际使用中。虽然说可以在文章模版里面自动准备好这个。虽然说无伤大雅的使用方式吧。 但是依然还是比较蛋疼的,比如wp的自动摘要插件或者主题功能,都做的比较简约 。
Front-matter 的处理
Hexo里面支持使用front-matter的方式来进行文章tags,分类等等的配置。看上去还是挺不错的。在这个方面,专门写MD的人来说,可能比较舒服,因为只需要敲打就可以了。对于比较懒或者技术方向不是很擅长的人来说。 WP的用手勾选勾选的方式,可能更简单,当然WP好像也有自动抓取标签等功能 。
每次写好文章都要全部Build & Deploy 一遍
这个继续接着吐槽,hexo 我现在只写了不多的不到十篇文章。使用了package的方式 使用npm run build的方式,可以 轻松的实现 语雀文章抓取,hexo clean,hexo g,Gulp ,和 hexo d 的功能。听上去还是挺美的。但是我看到过一些文章作者也特别提到过,假如文章超过200+甚至500+篇的时候,我在搜索引擎里面看到的好像都是吐槽的,就是说Build时间太久的问题。 我也大概脑补了一下场景。想想几百篇的构建时间和处理时间,还是有点无奈的。
没有相对完善的评论系统
Valine 和畅言,是我测试过的评论系统。Valine 开发的还是很牛逼的,要使用leancloud,一个是leancloud的邮件推送和云服务器引擎, 好像是有个什么休眠功能,多少时间之内一定要休息一下。。然后如果有邮件评论产生会自动开启,但是这一封邮件就不会发送到我们手里 。但是Valine还是有个扩展,好像是Valine-admin 还是叫什么的。提供了第三方的邮件推送。但是看了一下折腾的过程。我泪奔掩面。
我不反对折腾,但是 ** 就这么个提醒的玩意,感觉都要搭建出一个负载均衡SLB服务一样了** 。
当然,至于其他评论系统,比如Gitment 或者来比力。没有测试过。所以不做评价。总的来说,各种评论系统都有各种各样的问题吧。感觉好累。。
评论的另一种模式,Daovoice实时聊天+邮件
在评论系统放弃之后,看到了可以添加Daovoice的方式进行实时聊天+邮件推送。因为Leancloud和Daovoice 都是我以前用过的云服务平台,所以轻车熟路的指导, *Daovoice 免费版使用5000个用户限制的,超过5000个用户使用,就要收费了。就是4999个不收费,如果5000人了,每个月收费 5000 0.02 = 100元,以此类推。按月上缴 。脑补了一下,虽然5000用户已经是很可观的免费量了。但是一旦超过5000,就需要付费,虽然付费也没什么问题。但是这个操作方式和体验感受。还是有点蛋疼的。
多台电脑编辑的麻烦
可以说,还是有很多文章和教程,提供了hexo 博客在多台电脑同时操作和部署的方式吧。比如挪移 config.xml 或者等等一系列文件夹,备份什么什么的。然后重新准备 npm, hexo,gulp 等等一系列。 ** 我不反对,如果很喜欢折腾的人是可以慢慢来的。但是我公司一台台式机,一台笔记本,家里一台电脑的情况下,如果用本地部署推送构建的方式,还是比较糟心啊** 。
但是为了本地测试插件和修改,暂时还是只能在一台电脑处理。折腾是好的,过度折腾,有点烦躁啊。
美好的持续构建的Hexo梦
听说Github+Travis.CL 可以持续构建,听说可以依靠Jenkins 持续构建。Github上仿佛不能创建私有仓库,我也不确定比如秘钥或者私密性如何保证hexo源代码的存放。 这里没有深入研究过 。然后一直考虑的是使用Jenkins进行自动构建。因为公司已经有一个Jenkins在跑着,也准备了很多的教程和案例进行折腾。
同时呢,在腾讯云开发者平台Coding里面,有私密仓库+持续构建JenkinsFile 服务。也可以尝试做到持续构建。 美好的愿望肯定是只负责进行编辑文章,然后提交之后就一键发布+部署到平台上喽 。
但是到现在还没有走完这一步,本地+node+git+语雀+webhook+coding+jenkins+cos+cdn+github+pages。。。。。。这哪是创作文章和写作,这是 长征啊。。。
插件的局限性和扩展性
刚进入hexo+next的世界里,感受到了很多有意思的插件,在我的(二)里面进行了很多功能的添加和描述。觉得增加和修改,就像是搭建一个小房子一样,感觉到了有意思的地方。 但是随着越来也多的功能和需求搭建上去之后,发现一个问题就是,天花板到了 。你很快发现,几乎95%的hexo 都是一个磨子刻出来的。基本上都是next主题,当然还有个别其他的,但是我看到也就那么几个常用的。大家的插件+优化方式,几乎90%都是一模一样的。直接Git下来,npm一下,构建一下就行了。
好像hexo 还在蓬勃的发展中。但是做到现在这一步,我基本上看到 Hexo +Next 上自己能用到的插件, 同时也在next里面的主题配置里面看过全部的配置选项了 ,基本上能做的大家都差不多。 只要找3-5篇比较精细的教程,跟着从头到尾做下来,基本上就都是一回事了。
在这个方面WP。。。好像,可以认为不是一个量级。各有所爱吧。不做太多评比了。 只有全做了才有感受 。
语雀yuque-hexo插件使用上的尴尬
使用hexo的出发点其实是因为语雀编辑器的好使,非常舒服,那么看到了有yuque api接口以及hexo联合起来,所以开始尝试使用hexo构建一个博客。 但是因为语雀编辑器的自动编译,导致frontmatter的模式怎么搞都不太行。无法处理分类和标签 ,这叫很尴尬了。
在没有分类和标签的情况下,文章数量多起来就糟心了。
搜索功能的卡顿
使用了local search的方式,并没有尝试其他模式,但是这个local方式,感觉每次打开都要卡顿好长时间, 也去看其他隔壁的hexo的local搜索,感觉更慢 ,实在是很难接受这么慢的搜索模式。
优点列表
纯静态Html的加载速度
这个确实是亮点,加载速度一流,着实是很快。打开速度飞快。 当然随着网速+CDN+服务器配置的完善,WP的加载速度也越来愉快,差别并不是很大,页面不是太花哨的情况下 ,html的纯静态页面,到现在更多的可能是一种体验的感觉。
SEO配置的精细和收录的效率
给了我很大的惊喜,在百度收录,谷歌收录上, 提供了很好的插件和很好的优化,在SEO收录上有非常好的体验和感受 ,感觉经过简单的配置后,比WP来的更快速。
折腾中学习,学习去折腾
最精华的应该是通过hexo+next的折腾,学习了很多东西,比如npm,git,xml,package,等等一系列的东西。 最大的收获就是折腾的过程中学习到的东西和接触的东西吧。
针对国人的优化
比如打赏模式,做成了自带的功能,很有意思。比如版权声明,比如底部不蒜子的统计等等,一系列的插件的优化,都是做的很贴心的。
但是很多也是不够稳定,比如不蒜子近期的七牛云状况,很难说可以坚持多久,同时其他各种各样的服务,都依赖于各种各样的第三方平台。 在体验上,可以多层面,多角度的使用第三方服务,这是非常有意思的。
总结一下
Hexo+Next 针对从来没有体验过的人来说。是一步非常好的体验过程,在各种各样的服务,平台,构建中学习一些基础知识和基础代码。同时可以编写属于自己的博客。
个人建议:如果打算把自己的内容,以自媒体的方式,进行更多的扩展,比如盈利,广告,分享,稳定,多样性等等更丰富应用的时候,Wordpress的优势要更大一些。
如果单纯只是以技术或者其他原因,希望有一个属于自己的自留地,进行编辑和留存的情况下。Hexo是一个很好的选择。
PS:lweeinTalk的发展策略思考
本来是依托于hexo+next 满怀信心希望可以进行更多的创作和分享。基于扩展到现在这个层面,这几天一直在思考,折腾是一种精神,但是对内容创作本身来说。会牵扯很多其他不必要的精力在创作本身上。
主域名 www.lweein.cn 可能还是会考虑替换成 Wordpress 的方式来进行部署,同时在另外一个二级域名下 hexo.lweein.cn ,下进行留存hexo的版本,供持续学习和进步。
期待hexo+next 可以发展的更好,文章此时部署的版本是 Hexo 3.8 和Next 6.6版本。
祝福 EveryOne at Hexo, 再见 2018。
**
Hexo 网站暂时停止维护开始迁移Wordpress
本文编写于2018年12月29日,这里做总结和归纳
在第三部分已经做了很多的吐槽和总结,在这是就是写一下迁移攻略吧。因为并不是要关闭hexo系统,所以相当于是 把hexo的域名替换成另外一个二级域名 ,这么个意思,那么要做的步骤大概是
Hexo 修改域名地址和相关配置
修改hexo.lweein.cn 的域名解析,以及修改 www.lweein.cn 域名解析到腾讯云ECS
修改COS+CDN的域名解析和处理,以及Github +Pages的域名处理
重新构建和部署Hexo到二级域名,检查存在的问题处理
所有相关插件,重点是SEO方面要进行修改和优化处理工作
主域名搭建wordpress程序和处理
因为文章不多,所以决定使用人工搬砖的方式进行挪移,直接复制MD 源文件到WP发表即可。
WP的优化和配置 - 这方面估计又是一系列的使用教程了
那么要达到的效果是,依然使用语雀编辑器进行MD内容的创作 + PicGo和COS的图床搭配进行处理。 **这样的好处就是不论使用hexo还是wp甚至到别的地方进行发表,我的静态图片文件地址是固定不变的,并不会因为我改变程序本身而造成静态资源的挪移困难,只是文字的情况下还是很快的。
Hexo 域名的修改
在_config.xml 这里要进行域名的修改。
百度和熊掌号推送关闭
因为要切换了。所以这里的百度和熊掌号推送,以及RSS 订阅服务 暂时进行了关闭,在WP开启之后在那边重新开启百度推送服务即可。在Deploy的位置上也要进行解除推送。
腾讯云CDN域名解析修改
在这里要做几个步骤,总结一下说明即可,不做详细描述了
添加 hexo.lweein.cn 到CDN服务,解析到COS下,这里也要注意,境内线路给COS,境外线路给Github
申请一个免费的SSL证书,通过之后在CDN进行绑定
CDN上进行一些基本的配置优化即可
Github+Pages 域名修改
在pages的settings里面进行一下域名的修改。好像要等一阵可以去开启强制https。这一步比较简单。
Hexo 再次解析出现的问题
发现在比如百度推送,RSS订阅等方面会持续性报错,无法正常处理,所以直接选择了卸载,卸载那些无法正常推送的插件即可。同时也是在SEO上暂时不需要的。
npm uninstall hexo-generator-sitemap # sitemap 功能卸载
npm uninstall hexo-generator-baidu-sitemap # 百度sitemap 功能卸载
npm uninstall hexo-generator-feed #rss 功能卸载
npm uninstall hexo-baidu-url-submit # 百度主动推送功能卸载
这里卸载的可能有点多。为了保证正常推送,主要是为了WP的SEO进行让路。以后hexo.lweein.cn 这个就不在进行SEO的特别推送和收录优化了。同时开启了自动摘要的功能,实在懒得写 下面这玩意了。进行构建部署推送。
npm run build # 部署和构建成功
至此,Hexo的域名切换,和lweeinTalk的切换第一部分告一段落。
那么后期,Hexo的站点还会继续进行更新和部署,希望可以陪伴hexo+next更多的时间,当然如果有新的特性出现,还是会持续跟踪的。祝福Hexo 越来越好。
**
本文总结
因为整篇内容编写于2018年底,所以现在是2020年初,考虑到自己想要发表出来内容希望每一篇都能尽可能的做到一种价值量的体现。所以把之前的文章进行了归纳和整理。
Hexo在2020年现在看来依然是一个不错的博客平台,静态化和前端定制化,只是更加偏向于文字+图片的技术类型博客来考虑。同时有一些功能上和体验上,确实也存在一些问题,比较适合技术流吧。
现在2020年已经继续在 Wordpress 上继续耕耘,这个平台的平衡性和普适性,以及市场热度都是业内非常好的,同时最喜人的应该是2019年国内有大批的团队正式开始国内的主题,插件类的开发,这个平台的功能性和中国大陆内的体验正在大幅的好转,相信接下来 lweeintalk会发展的更好。
2020年的一个目标是 lweeintalk 可以在 Wordpress Hexo 和语雀上进行三端同时发布和构建。