Skip to content

Latest commit

 

History

History
189 lines (135 loc) · 9.47 KB

2019-4-15-个人博客搭建脱坑路.md

File metadata and controls

189 lines (135 loc) · 9.47 KB

个人博客的搭建脱坑路

一直想把自己走过的一些坑写出来,然后就想找一个好点的平台记录自己的点点滴滴 之前一直在CSDN上写,但是发现并不是很喜欢,不知道为什么,后面Github page跑进了我的视野,简直就是自己梦寐以求的东西啊!!! 于是就有了以下的踩坑之路

github page的创建

直接注册github的账号 然后创建一个username.github.io的仓库

hexo 安装

最先跑进我眼里的是hexo+Github page 然后就开始踩坑,好戏开始

node.js

直接去官网下载然后一路next

安装hexo

  1. 在你要装的文件夹里面git bash here或者cmd输入: npm install -g hexo-cli
  2. hexo init blog blog 是你自己定的文件夹
  3. hexo g
  4. hexo s
  5. 打开浏览器输入:localhost:4000 你的博客就弄好了

jekyll 安装

发现hexo的不足之后,然后jeklly就来了 但是。。。哎 废话少说,直接开干 刚开始的时候,自己直接在github上面改,结果发现这个效率太低下了,就在想,我把他clone到本地来,本地改了之后push到github 然后把文件发给了对前端有了解的朋友,结果他也不是很了解这个东西,我叫他给我推荐一个能本地运行这个项目的软件 结果他给我推荐了webstorm 好吧 屁颠 屁颠的去装了个webstorm 结果发现什么都还要去自己摸索,然而我也没有找到怎么在本地运行。突然一个念头在脑海闪过!想起自己在本科的时候刚开始学HTML5的时候用过HBuilder,开心,然后去安装了这个,这个软件根本就需要安装,直接下载解压就可以用了,果然还是自己顺手的东西好用啊!由于自己以前学过一点前端的东西,所以一些基本的东西还是能看懂的,就顺着自己的想法去改。改好自己想改的文件之后push到github(HBuilder也不能在本地运行)。天真啊!!!打开自己的网站,无限刷新,就是不出效果,我就在想,这是什么毛病呢???疯狂刷新!!!!没有效果。无奈!以为是github的服务器在国外,可能延迟,然后我想等到第二天在看,结果第二天兴奋的打开网站,一如既往,这怎么回事呢??? 无解,后面又去问了一个以前学过前段的朋友,她也不是很懂,无奈,只得直接琢磨 由于还有其他的事情要忙,所以这个事情就放了一下,后面想着自己慢慢改吧,学点东西。 不知道那天打开了QQ,然后发现GITHUB给我发了好多邮件,打开一看每一封都是网页创建失败的邮件,无语啊。。。。。。GitHub还是强啊!然后点开看了错误原因,结果发现我根本看不懂是什么原因。不同就百度呗,Ymal解析错误的解决办法,仍然是没有找到解决的办法。真是心酸。但是有个好事情就是我知道了怎么在本地预览自己的博客了。

装Ruby

下载地址 我直接下载的 EptXgx.png 下载之后直接开始装疯狂下一步,最后记得勾选 Add Ruby executables to your PATH于是开始装Ruby

装jekyll

装完Ruby直接打开CMD gem install jekyll 这个会自己装自己依赖的包,所以可能有点慢 安装完之后

博客本地预览

  1. 打开CMD,输入: jekyll server
  2. 打开浏览器输入: localhost:4000 我的报了好几个错,有的是依赖包的缺失问题。 比如: Configuration file: /Users/skysun/Documents/MyWebsite/cards-master/_config.yml Dependency Error: Yikes! It looks like you don't have jekyll-seo-tag or one of its dependencies installed. In order to use Jekyll as currently configured, you'll need to install this gem. The full error message from Ruby is: 'cannot load such file -- jekyll-seo-tag' If you run into trouble, you can find helpful resources at http://jekyllrb.com/help/!

直接CMD gem install jekyll-seo-tag

如果还有依赖问题就继续装。但是我的后面报错不是依赖的问题,其他的问题

Wrong line for yml parser error "while scanning a simple key"

扫描某篇博客一直报这个错。。。然后寻找该篇博客对应位置,反复检查,没错啊。。。怎么回事,直接删除了。然后解决了。后面发现是那里不能换行。。。真是。。。。然后还是有问题。。。。。。

“invalid byte sequence in UTF-8”?

我这真的要。。。。。我一张图片怎么就是UTF-8了呢???google无果之后,我放弃了!!继续找下面的问题

又是某篇博客的问题,说我Latex公式编辑得有问题。。。。但是我Atom中预览是没有问题的啊。怀疑jeklly中包含的Latex公式解析器有问题。后面改了改没有错了。然后终于等来了我梦寐以求的博客了,本地没有网页渲染的那么好看,但基本的东西都有了,于是迫不及待的push到了github 结果大失所望

图片没有显示

Latex公式一塌糊涂,不知道为什么,检查了Latex渲染,跟网上说的基本一样,但是就是渲染不出来。。。。真是

作为一个工科生,不能渲染Latex的都是垃圾,于是果断放弃这个,后面知道图片是因为路径的原因,本地可以显示,但是网页要的是链接,这就涉及到图床的问题了

Latex公式的渲染一直是个大问题

重回hexo

一切如旧,由于前面觉得不好用直接把hexo删除了,导致了又要重新装 好在这个安装还是挺简单的。 但是。。。我还是太天真啊

Latex大坑

作为一个工科生,怎么能少了这个东西呢,但是就是这个东西太要命了 hexo自带的不能好好渲染,然后.......

  1. 卸载原来的东西 npm uninstall hexo-math --save卸载math math好像是不更新了。。。。所以还是换了吧!而且我也试了math的渲染效果不咋滴 npm uninstall hexo-renderer-marked –save 卸载marked

  2. 装点新东西 npm install hexo-renderer-kramed –save npm install hexo-renderer-mathjax --save ``

  3. 修改文件 更新mathjax的CDN链接,打开node_modules/hexo-renderer-mathjax/mathjax.html 修改标签 <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML"></script> hexo主题Next中已经集成了对mathjax的支持。 在主题配置文件,blog\themes\next_config.yml中定位到如下片段:

# MathJax Support
mathjax:
  enable: true
  per_page: false
  cdn: //cdn.bootcss.com/mathjax/2.7.1/latest.js?config=TeX-AMS-MML_HTMLorMML

全部改为True

也有可能你打开的是这样的

math: enable: true // 省略很多注释 engine: mathjax

在你写的有公式的文章投文件中加入 mathjax: true // 开启后才会渲染数学公式 找到node_modules\kramed\lib\rules\inline.js 修改如下:

//  escape: /^\\([\\`*{}\[\]()#$+\-.!_>])/,
  escape: /^\\([`*\[\]()#$+\-.!_>])/,

//  em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
  em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,

但是效果依然不是很好。不知道为什么,真的是要疯了

接着换发动机

npm uninstall hexo-renderer-kramed –save卸载 首先安装pandoc npm install hexo-renderer-pandoc --save安装 然后基本就可以了 完美解决了问题,真是开心

但是还有个问题就是‘#...’只要我的标题和下面的文字挨着,就识别不了,我也是郁闷。。 无解,只得在自己多跳一行

多台电脑的协作

我自己一个笔记本,实验室一个电脑,然后实习的地方一个电脑,这就导致,要同步的问题。但是已经有前人的经验可以借鉴了 参考

但是这个存在一个问题:如果你用next主题,他传不上去,我也不知道为什么,也难的去找为什么了,主题这个东西,也没打算怎么折腾,没有就自己拿U盘考一下

还有个问题就是,在_conig中设置语言的问题 如果你按官方的设置为:ch-Hans 但是在NEXT主题文件先language文件中并没有这个文件,(可能是版本不同吧)你就设置他有的比如:ch-ZN

为期一周,期间还有其他的事情,这个也算是告一段落了,瞎折腾。 以后可能还会去折腾主题,真是要命。。。前面弃坑jekyll,不仅因为渲染的问题,还有就是它是遍历你所有的文件夹,所有当你的文件到了一定程度,网页生成会比较慢,这几天的折腾我也看出来了,jekyll和hexo生成的速度确实是有差距的,说到速度这个问题,又有个新东西跑进了我的视线,hugo..........哎,hexo将就用着。那天有时间了再去折腾!!!!

转战docsify

主要还是数学公式支持的问题

找了一圈发现的神器两行代码就搞定了,只不过代码部分现在没法高亮 ~~ ~~<!-- CDN files for docsify-katex -->~~ ~~<script src="//cdn.jsdelivr.net/npm/docsify-katex@latest/dist/docsify-katex.js"></script>~~ ~~<!-- or <script src="//cdn.jsdelivr.net/gh/upupming/docsify-katex@latest/dist/docsify-katex.js"></script> -->~~ ~~<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/katex@latest/dist/katex.min.css"/>~~ ~~

上面这个已经失效了,用下面这个

Latex渲染问题