使用 hexo 搭建 github个人博客。
安装Hexo
安装node.js
1 | sudo add-apt-repository ppa:chris-lea/node.js |
安装hexo
1 | sudo npm install hexo -g |
Hexo命令
写博客常用命令
常用:
1 | hexo new "postName" #新建文章 |
简写:
1 | hexo n == hexo new |
复合:
1 | hexo deploy -g |
shell 打包命令
写一个shell文件,把上面的命令写到里面,这样就不用每次都敲一遍了,嘿嘿。。。
例如:
创建preview.sh,内容如下,这样就可以直接预览了:
1 |
|
创建push,内容如下,这样就可以push到github了:
1 |
|
主题
其他主题安装方法类似
NexT主题配置使用
主题下载
进入博客目录文件
1 | git clone https://github.com/iissnan/hexo-theme-next themes/next |
修改站点配置文件
配置theme为:next
1 | # Extensions |
修改主题配置
修改Scheme:Mist
1 | # Schemes |
TOC设置成全部展开
修改 next 主题样式,themes/next/source/css/_common/components/sidebar/sidebar-toc.styl
:
1 | .post-toc .nav .nav-child { display: none; } |
修改为:
1 | .post-toc .nav .nav-child { display: block; } |
效果如图:
添加阅读进度
添加点击鼠标红心效果
1、新增js文件
在\themes\next\source\js\src
目录新增love.js
文件。内容为:
1 | !function(e,t,a){function n(){c(".heart{width: 10px;height: 10px;position: fixed;background: #f00;transform: rotate(45deg);-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);}.heart:after,.heart:before{content: '';width: inherit;height: inherit;background: inherit;border-radius: 50%;-webkit-border-radius: 50%;-moz-border-radius: 50%;position: fixed;}.heart:after{top: -5px;}.heart:before{left: -5px;}"),o(),r()}function r(){for(var e=0;e<d.length;e++)d[e].alpha<=0?(t.body.removeChild(d[e].el),d.splice(e,1)):(d[e].y--,d[e].scale+=.004,d[e].alpha-=.013,d[e].el.style.cssText="left:"+d[e].x+"px;top:"+d[e].y+"px;opacity:"+d[e].alpha+";transform:scale("+d[e].scale+","+d[e].scale+") rotate(45deg);background:"+d[e].color+";z-index:99999");requestAnimationFrame(r)}function o(){var t="function"==typeof e.onclick&&e.onclick;e.onclick=function(e){t&&t(),i(e)}}function i(e){var a=t.createElement("div");a.className="heart",d.push({el:a,x:e.clientX-5,y:e.clientY-5,scale:1,alpha:1,color:s()}),t.body.appendChild(a)}function c(e){var a=t.createElement("style");a.type="text/css";try{a.appendChild(t.createTextNode(e))}catch(t){a.styleSheet.cssText=e}t.getElementsByTagName("head")[0].appendChild(a)}function s(){return"rgb("+~~(255*Math.random())+","+~~(255*Math.random())+","+~~(255*Math.random())+")"}var d=[];e.requestAnimationFrame=function(){return e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(e){setTimeout(e,1e3/60)}}(),n()}(window,document); |
2、引用js
找到\themes\next\layout_layout.swing文件,在文件的后面,