主要记录自己创建过程以及在该过程中遇到的问题和解决的方法,参考的是jekyll的官网里面的文档,也看了些中文的文档。
基本知识
创建基本流程,文档结构,文件作用,markdown格式博客书写等
更改主题
直接创建的博客,空空的只有文字,不好看,根据上面的提示的选择主题,然后自己去下载了一个。做了些基本的简单修改,如名字,邮箱,说明等,感觉好多了。
修改主题
看着主题里面的上面的图片太大,想改小点,自己不懂前端,于是根据index.html,一步一步找到了需要修改的top.html,然后就想修改里面的大小,找来找去没找到修改的地方。于是在目录里面再翻一遍,终于找到了一个websrc目录,里面的scss文件和html是一一对应的,于是毫不犹豫的修改,然后bundle exec jekyll serve,发现修改不起作用,顿时陷入迷茫。
找寻答案
继续翻看文件,发现了webdist目录,写程序的一般都知道,这里面的文件应该是由websrc里面的文件生成的,然后我就想修改里面的css文件,打开一看,这个文件根本没法看,更别提修改。根据百度的结果,原来前端的css,js文件可以处理为更小的文件,这种pack工具有Grunt、Gulp、Webpack,又在网上查Grunt相关资料,终于装好了,发现还需要编辑grunt的编译文件,然后又是一通忙活,这个过程中看了一眼package.json文件,发现里面有作者写的script,里面的内容正是打包css的,顿时发现前面的路走错了,于是再查资料,发现原来node里面的npm可以直接执行脚本,npm run target,这种运行方式就像makefile差不多,好吧接着又是一通忙活,安装node-sass,安装node-gyp,最后终于npm run build 成功,赶紧修改websrc里面的css文件,编译,bundle exec jekyll serve,打开浏览器,修改终于起作用,搞定。
中文问题
写了篇中文的博客,然后bundle exec jekyll serve,发现什么也看不到,然后立马查找jekyll与中文相关的问题及解决方法,修改ruby里面的读文件编码为utf-8,在_config.yml加encoding:utf-8等,统统不起作用。又迷茫了,突然想到自己修改的是本机最新版本里面的文件,是不是根本没有执行,果断删除Gemfile和Gemfile.lock文件,然后使用jekyll serve,打开浏览器,终于看到了自己写的中文博客。略一思索,大概应该是这样的,bundle exec 执行的jekyll版本不是最新的,所以我按照官网给的写的liquid格式它就不能识别,它就不会显示。此时在主页中可以显示中文blog名字,但点击该链接会出现一个页面不存在,里面是乱码,于是乎又按照前面提到的方法修改读文件路径为utf-8,然后重启服务,终于正常。
发布问题
本以为应该没问题了,结果发布到github后,发现点击blog无法转到相应的网页,接着又查资料,有人说本机的jekyll环境应该和github的一致,我就按照github里面的处理了一遍,试验后发现不行。自己想到可以建立一个由jekyll自动生成的简单的文件组成,然后再添加文件以发现问题所在,发现只要是我遍历posts就无法显示,然后查到说修改url,baseurl,我修改后还是不行,然后我又试了一个theme,修改url后确实可以访问,这下我心里发毛了,还要不要继续查,毕竟我想搭建微博的主要目的是用来记录的,不能再继续花时间了。这样想着就想还是继续找一个能直接用的theme,不继续查这个theme的问题,找到一个国人的H2O的主题,简单更改,在本机和github均OK,就这样凑合用吧。
总结
总体看,搭建这个blog的过程还算顺利,遇到问题,自己先思考,在解决的过程中不断向搜索大神提问,这个是处理的基本方法。但是这里本人还是走了点弯路,其实想想作为发布在github的项目,作者显然应该把相应的脚本发布上去,让其他人下载后再自己写脚本不合理,所以我在考虑用grunt自己写脚本的时候,路就已经走弯了。关于中文问题,这里得到的经验是主要是要敢于不断试错,这就是程序里面的坑,不断的踩坑才能不断进步。至于发布的问题,来来回回折腾不少,这个还是应该多搜索资料,如果开始找到的是这些直接能用的就会省不少时间,当然了,那样也就会少学到很多东西,不管怎么样,先折腾,后面找个省事的这种处理也是不错的,毕竟能学到东西才是最好的,加油!