hexo-generator-random | Hexo插件

hexo-generator-random

github地址:hexo-generator-random
欢迎大家star

初衷及历程

忘了在多久之前看到朋友的博客中有个随机浏览一篇文章的功能,问了一下发现是php中的一个函数(我也不是很懂2333).但是我用的是hexo,也很想可以有这个功能。一开始没想那么多直接暴力用python爬取了我博客所有文章的链接,然后用一个html跳转,这样做的话会有几个很不方便的地方,比如说每次有新文章都得手动更新一个那个html,太麻烦了。然后我就寻思着做一个实现这个功能的插件。说干就干。可是这方面百度谷歌上面都没有什么让人能看得懂的教程,官网上的中文翻译也是有点模糊不清,英文又看不太懂。那几天心里面充满了想做但是又不知道怎么做的烦躁,用无从下手来描述太合适了。我又是看hexo里面的生成归档,标签什么的代码的,又是看各种插件的代码的。终于是知道了是用的node.js写插件的,好吧还是我太菜了,官网好像有说。我的锅我的锅。一开始想着模仿生成rss订阅的那个插件一样,但是没弄好,就换方向了。那两天做这个做到入魔,逃了好多课(把班长快气死了。。。然后在网上看到一个大佬的生成所有链接向百度提交的插件,传送门,传送到他的码云仓库,%一下然后感谢一下,对我帮助非常大。最后终于是做好了。

插件介绍

hexo-generator-random是一款hexo插件,作用是生成一个random.html,随即跳转到博客下所有文章中的一篇。

功能

public文件夹中生成一个random.html,访问yoursite/random即可随即跳转一篇文章。

版本

当前最新版本为1.0.0

版本2.0.0预计更新内容:在每篇文章的Front-matter中设置一个参数来控制是否添加到随机文章,希望我不会咕咕咕吧

安装

依赖

本插件用到的依赖如下:

  1. minimatch
  2. path
  3. fs
  4. object-assign
    上面四个依赖,前三个一般hexo init之后都会有,但是第四个一般都没有(我自己测试的时候是没有的。
    所以你需要先安装一下object-assign
    npm install object-assign

本地安装

把本仓库的内容git clone或download到本地,然后把保存到本地的文件夹放在../blog/node_modules文件夹中

然后,在博客根目录下的package.json里面的dependencies中加入这一行

"hexo-generator-random": "^1.0.0"

注意:如果你是加到最后一行的,在这个上面的一行要加上逗号

这是完成后的效果

"dependencies": {
  "hexo": "^4.0.0",
  "hexo-generator-archive": "^1.0.0",
  "hexo-generator-category": "^1.0.0",
  "hexo-generator-index": "^1.0.0",
  "hexo-generator-tag": "^1.0.0",
  "hexo-generator-random": "^1.0.0",
  "hexo-renderer-ejs": "^1.0.0",
  "hexo-renderer-marked": "^2.0.0",
  "hexo-renderer-stylus": "^1.1.0",
  "hexo-server": "^1.0.0",
  "object-assign": "^4.1.1"
}

npm安装

同上,首先安装依赖

npm install object-assign

然后直接安装本插件即可

npm install hexo-generator-random

注意

在博客根目录下的_config.yml里面的url需要改成/或者你的域名'

已知Bug

不同的主题可能会有其他页面混进随机文章

使用

上面的配置如果都是正确的话,当你hexo g之后,在public文件夹下会生成一个random.html。
直接访问yoursite/random.html就可以感受这个随机文章了。
你甚至可以直接在菜单栏里面加上一个菜单,path写上/random.html/即可。

全部评论

相关推荐

会飞的猿:我看你想进大厂,我给你总结一下学习路线吧,java语言方面常规八股要熟,那些java的集合,重点背hashmap八股吧,jvm类加载机制,运行时分区,垃圾回收算法,垃圾回收器CMS、G1这些,各种乐观锁悲观锁,线程安全,threadlocal这些。在进阶一些的比如jvm参数,内存溢出泄漏排查,jvm调优。我这里说的只是冰山一角,详细八股可以去网上找,这不用去买,都免费资源。mysql、redis可以去看小林coding,我看你简历上写了,你一定要熟,什么底层b+树、索引结构、innodb、mvcc、undo log、redo log、行级锁表级锁,这些东西高频出现,如果面试官问我这些我都能笑出来。消息队列rabbitmq也好kafka也好,学一种就行,什么分区啊副本啊确认机制啊怎么保证不重复消费、怎么保证消息不丢失这些基本的一定要会,进阶一点的比如LEO、高水位线、kafka和rocketmq底层零拷贝的区别等等。计算机网络和操作系统既然你是科班应该理解起来问题不大,去看小林coding这两块吧,深度够了。spring boot的八股好好看看吧,一般字节腾讯不这么问,其他的java大厂挺爱问的,什么循环依赖啥的去网上看看。数据结构的话科班应该问题不大,多去力扣集中突击刷题吧。项目的话其实说白了还是结合八股来,想一想你写的这些技术会给你挖什么坑。除此之外,还有场景题、rpc、设计模式、linux命令、ddd等。不会的就别往简历上写了,虽然技术栈很多的话好看些,但背起来确实累。总结一下,多去实习吧,多跳槽,直到跳到一个不错的中厂做跳板,这是一条可行的进大厂的路线。另外,只想找个小厂的工作的话,没必要全都照这些准备,太累了,重点放在框架的使用和一些基础八股吧。大致路线就这样,没啥太多难度,就是量大,你能达到什么高度取决于你对自己多狠,祝好。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务