最近决定要写一个博客,前后注册了博客园和CSND的博客,可是他们的界面主题都不是很符合本身的要求,尚未足够个性化的发挥空间,遂决定本身建一个博客。javascript
网上找了一下教程,感受都不太详细,容易踩坑,因此就想详细一下本身的搭建过程,不能算做教程吧。
但愿你们踩少点,若有错误,各位看官老爷们拍轻点。html
既然选择了本身建一个,就须要选择一个合适本身用的博客引擎了,主要就这几大引擎:java
wordpress:
老牌博客引擎,网上不少前人踩过的坑
功能强大,须要服务器数据库,插件丰富,扩展功能方便
搭建须要基本PHP和MySQL知识,搭建好后就傻瓜式操做
wordpress相对臃肿,迁移麻烦node
jekyll:
静态网页生成引擎,不须要数据库
搭配github或gitcafe就能够不用本身的服务器
用Ruby开发,须要基本GIT知识,支持markdown语法linux
octopress:
基于jekyll的静态网页生成引擎,相似于javascript和JQuery的关系,就是已经打包好了一些博客框架git
hexo:
同样是静态网页生成引擎,不须要数据库
搭配github或gitcafe就能够不用本身的服务器
用node.js开发,做者是台湾大学生@tommy351
相比jekyll,安装和命令更简单,生成速度更快
一样须要基本GIT知识,支持markdown语法github
这个是做者的网站 Zespia 能够围观一下数据库
只有最适合本身的,没有最好的,根据本身的须要选择,我这里听说jekyll比较能折腾(坑多),因此就选用了jekyll。浏览器
我是在window下搭建的,因此linux和mac的老爷们就去下家看看吧。sass
window要用 Rubyinstaller 安装(linux和mac能够直接在官网下载,由于Ruby对window不太友好)
安装时把下面两个勾 勾上
安装好后,运行cmd.exe,输入 ruby -v
,出现版本号,则安装成功
用RubyInstaller安装Ruby以后都自带Gems的,有须要能够在这里下载 RubyGems
下载 DEVELOPMENT KIT,就在rubyinstaller下载页面的最下面。
下载好后解压到随意位置
进入刚才解压的文件夹,空白处 Shift + 右键打开 命令窗口(cmd.exe),执行如下两条命令
ruby dk.rb init ruby dk.rb install
若是安装的是64bit的Ruby,可能会报错,须要修改dk.rb
文件
用文本编辑器打开,在 REG_KEYS
中添加一条:
REG_KEYS = [ 'Software\RubyInstaller\MRI', 'Software\RubyInstaller\Rubinius', 'Software\Wow6432Node\RubyInstaller\MRI' ]
由于墙的问题,须要把原来的镜像源换了,我目前是用阿里云的镜像,有人用淘宝的,但我那时不行了,可能之后阿里云的也会失效。
执行命令
gem sources --add http://mirrors.aliyun.com/rubygems/ --remove http://rubygems.org
换了镜像后,执行命令:
gem update
而后等升级完成,这个步骤须要联网
若是配置过Jekyll环境或者安装过bundler,能够跳过这步。
更新完了,而后安装bundler,执行命令:
gem install bundler
成功安装bundler后,bundler 也须要换镜像源
前面弄了这么就,终于能够入正题了,执行命令:
$ gem install jekyll
Jekyll须要的gem包都会自动安装
打开你须要建立博客的目录下,好比我在E盘下建立,执行建立博客的命令,等待完成:
jekyll new yourBlogName
建立完博客站点后,用cd
命令进入博客的目录下,执行如下命令:
cd yourBlogName jekyll serve --watch
不加--watch
则不会检测文件夹内的变化,修改文件后须要从新启动jekyll。
Jekyll服务器默认端口是4000,因此打开浏览器输入:http://localhost:4000 便可看到生成的博客页面。
Jekyll 的核心实际上是一个文本转换引擎。它的概念其实就是: 你用你最喜欢的标记语言来写文章,能够是 Markdown,也能够是 Textile,或者就是简单的 HTML, 而后 Jekyll 就会帮你套入一个或一系列的布局中。
在整个过程当中你能够设置URL路径, 你的文本在布局中的显示样式等等。这些均可以经过纯文本编辑来实现,最终生成的静态页面就是你的成品了。
一个基本的 Jekyll 网站的目录结构通常是像这样的:
blog .sass-cache _posts 2017-04-21-welcome-to-jekyll.markdown _site .gitignore _config.yml about.md Gemfile.lock Gemfile index.md
根据实际须要,可能还须要建立以下文件或文件夹:
一、 _includes:用于存放一些固定的HTML代码段,文件为.html格式,能够在模板中经过liquid标签引入,经常使用来在各个模板中复用如 导航条、标签栏、侧边栏 之类的在每一个页面上都同样不变的内容,须要注意的是,这个代码段也能够是未被编译的,也就是说也可使用liquid标签放在这些代码段中
二、 image和js等自定义文件夹:用来存放一些须要的资源文件,如图片或者javascript文件,能够任意命名
三、 CNAME文件:用来在github上作域名绑定的,将在后面介绍
四、 favicon.ico:网站的小图标
这些目录结构以及具体的做用能够参考 官网文档
到此,博客初步搭建算是完成了
全部的文章都是放在_posts
目录下,文件格式为 mardown 格式,要注意文件名的格式前面必须为必须为 年-月-日-文章名
,且最好不要用中文。
此文件上的日期跟实际页面显示的日期不要紧,页面的日期由YAML头信息中的date来决定(没有date时才由文件名决定)
必须在文章头部添加YAML头信息(YAML front- matter):
--- layout: post title: "Jekyll和Github搭建我的静态博客" date: 2016/6/26 13:03:42 categories: original --- 正文...
常见的报错是Bundler和镜像源问题,上面已经处理好了,通常不会有问题。
这个是由于Jekyll 3.1.1版本的问题,这个版本没法使用jekyll-sitemap,错误信息提示:
Configuration file:... Dependency Error: Yikes! It looks like you don't have jekyll-sitemap 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-sitemap' If you run into trouble, you can find helpful resources at http://jekyllrb.com/help/! jekyll 3.1.1 | Error: jekyll-sitemap
解决办法:
暂时我遇到的坑就这些了,若是仍是报错的话,我推荐你们到各工具的github或stackoverflow上找一下缘由:
Ruby问题 (其实大多报错是Ruby的问题)
镜像源问题 (就是有SSLError,connect之类的报错信息)
Jekyll问题,stackoverflow
另外还有Jekyll的官网和中文网
最后说一句,这个只是本身搭建过程当中踩过的坑,分享给你们,不算很好的教程,其实最好的教程是官方文档,Jekyll有中文网,并不用担忧英语读不懂。
完.