前言

拥有一个个人博客基本上已经接近是开发者的标配之一了,在博客中记录自己的学习过程,分享自己的经验总结,也是促进自己技术成长的重要途径。当前有许多种创建个人博客的方式可以选择,如选择专业的博客网站提供的博客服务,国内有例如CSDN、博客园等,或是自己购买服务器搭建博客。在这里,也是推荐一种新的博客架设方式,也就是使用Github Pages服务搭建自己的博客。通过Jekyll在Github上搭建一个博客是一个很方便的选择,虽然其缺点是只能搭建静态的博客,但也能满足大多数的需求。

最简便的方式

现在在Github上已经有着许多的Jekyll主题,若直接使用他人搭建好的主题只需fork对应的repo并修改名称即可。但在这里不介绍这种方式去搭建博客,而是选择在本地安装Jekyll进行搭建。

安装Jekyll

首先,要在系统中安装RubyGems。RubyGems是一个Ruby的包管理器,类似于Ubuntu中的apt-get以及RedHat中的yum。在Ubuntu中可以使用 apt-get install gem命令安装RubyGems。安装完成后,需要通过RubyGems安装Jekyll和Bunlder。其中,Jekyll是我们需要的网站搭建程序,它是一个静态博客的生成程序。安装完成后只要通过jekyll new name命令即可创建一个新的博客站点。

$ gem install jekyll bundler
$ jekyll new blog
$ cd blog
blog $ bundle exec jekyll serve

这样就完成了Jekyll的安装,并使用最后一行的命令启动了服务器,默认情况下可以通过http://localhost:4000进行访问。后续要再运行服务只需要进入博客的目录使用最后一行的命令启动即可,不需要再次进行安装。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wZ25KLhQ-1649651091263)(http://www.ghosind.com/assets/images/jekyll/2018-03-02-create-blog-with-github-and-jekyll/blog.png)]

目录结构

默认情况下刚生成的博客目录下有以下目录和文件(从Jekyll 3.2开始,之前版本会生成更多的目录,各目录的含义如下文表中所述)。

.
|- _posts
|  |- 2018-03-02-welcome-to-jekyll.markdown
|- .gitignore
|- 404.html
|- about.md
|- _config.yml
|- Gemfile
|- Gemfile.lock
|- index.md

其中,_posts文件夹存放要发布的博文,_config.yml是博客的配置文件。在默认情况下,特定的文件如文章、HTML文件等都需要存放在特定的目录下,各目录的名称及其含义如下表。

目录名 作用
_data 存放网站数据,通常为.yml.yaml.json格式
_drafts 存放草稿
_includes 存放需要重用部分的布局
_layouts 存放模板
_posts 存放发布的文章
_sass 存放sass文件
_site 默认存放运行时生成的页面

个性化修改

创建的Jekyll博客默认采用了minima主题,若要自定义修改博客的整体结构及样式,可在_config.yml文件中移除theme: minima。保存后还需对部分文件进行修改,并添加自定义的模板框架。具体关于自定义Jekyll的资料请查阅Jekyll Docs。

上线

在完成Jekyll的搭建后,登录Github,创建一个新的repo,名称为xxx.gihub.io,其中xxx为Github帐号的用户名。完成repo的创建后使用shell进入创建好的Jekyll目录,使用下列命令将目录初始化为git版本库并复制内容至本地。

blog $ git init
blog $ git remote add origin https://github.com/xxx/xxx.github.io.git
blog $ git pull origin master

编辑.gitignore文件,将_site、.sass-cache及.jekyll-metadata加入到其中(生成博客的时候默认会生成,但可能会被git所覆盖,若覆盖只需重新编辑即可)。

_site
.sass-cache
.jekyll-metadata

完成后,使用git命令将要上传的文件上传至Github,即可通过xxx.github.io访问搭建好的博客了。

使用自定义域名

Github Pages支持自定义域名,使用的方法也很简单,只需在根目录中创建一个CNAME文件,写入自定义的域名地址即可。当然,不要忘记更改DNS的记录到Github Pages的IP地址。设置DNS只需添加一个A记录,指向192.30.252.153或是192.30.252.154。注意,CNAME文件只支持单个域名,若需要多地址支持需要通过DNS进行设置。

广告

前段时间修改了博客的界面后便顺便做了个版本供有兴趣的朋友使用,名为Jekyll Paper,且计划持续进行开发新的功能以及优化界面。Jekyll Paper在大方向上将会和我的博客同步进行更新,也欢迎大家加入开发。Jekyll Paper的项目地址是:https://github.com/ghosind/Jekyll-Paper。

参考资料

  1. Jekyll
  2. Github Pages

利用Github+Jekyll搭建个人博客相关推荐

  1. 利用Github Page 搭建个人博客网站

    利用Github Page 搭建个人博客网站 转载请注明出处: http://blog.csdn.net/tzs_1041218129/article/details/53214497 http:// ...

  2. github项目怎么运行_利用 GitHub 从零开始搭建一个博客

    "NightTeam",一个值得加星标的公众号. 趁着周末,搭建了一下 NightTeam 的官方博客和官方主页,耗时数个小时,两个站点终于完工了. 由于 NightTeam 的域 ...

  3. 利用 GitHub 从零开始搭建一个博客

    "NightTeam",一个值得加星标的公众号. 趁着周末,搭建了一下 NightTeam 的官方博客和官方主页,耗时数个小时,两个站点终于完工了. 由于 NightTeam 的域 ...

  4. 如何利用 GitHub 从零开始搭建一个博客

    趁着周末,搭建了一下 NightTeam 的官方博客和官方主页,耗时数个小时,两个站点终于完工了. 由于 NightTeam 的域名是 nightteam.cn,所以这里官方博客使用了二级域名 blo ...

  5. 个人博客网站建设_利用Github+Jeklly搭建个人博客网站

    题图:by ben.pinto from Instagram 阅读文本大概需要 9 分钟. 在上篇文章<个人博客如何选型?>中讲到,可以利用 Github Pages 来搭建个人博客网站, ...

  6. github上能找到中文博主吗_利用Github+Jeklly搭建个人博客网站

    题图:by ben.pinto from Instagram 阅读文本大概需要 9 分钟. 在上篇文章<个人博客如何选型?>中讲到,可以利用 Github Pages 来搭建个人博客网站, ...

  7. 利用Github+Jeklly搭建个人博客网站

    ↑↑↑点击上方"蓝字",关注"视学算法" 如果你喜欢我,可以把我置顶或加为星标 题图:by ben.pinto from Instagram 阅读文本大概需要 ...

  8. Github+jekyll搭建个人博客

    因为我的github上的配置是在23天前弄的,目前我又比较菜,所以我就找了一个不错的github相关设置的教程. Github相关设置 参考链接:https://zhuanlan.zhihu.com/ ...

  9. jekyll php,使用Jekyll在Github上搭建个人博客(文章分类索引)

    系列文章传送门: 今天又滚出去野了一天,打牌输了,好在输的不多,聊天聊到了以后的路子,不太好走啊... 使用Category分类 一般来说,一个个人博客的文章会分为很多种,比如说有记录生活情感的.技术 ...

最新文章

  1. idea 连接 mysql_IDEA 与MySQL连接问题
  2. math and date、ajax、画布
  3. 并不是所有的 Github 项目写在简历上都加分
  4. 如何快速搭建开放、多租户的电商云平台
  5. RGB CMYK HSV LAB
  6. 11种必知的word embeddings模型
  7. 2013腾讯编程马拉松初赛(3月20日)
  8. JS对以对象组成的数组去重
  9. 前端工作、学习中常用工具推荐
  10. c#在当前窗体的按钮事件调用另一封…
  11. matplotlib显示任意中文字体(不限SimHei)
  12. 高二获全奖跳级进哈佛,29岁坐拥数亿身家,这位曾让马云畏惧的“天才神童”现在怎么样了?...
  13. Andriod 对号错号
  14. 三校生计算机教学计划,三校生高考英语教学计划.doc
  15. linux非连续内存,linux高端内存管理之非连续内存区(分配和释放)
  16. 访问html 403 iis,IIS 403 错误详细原因 及解决办法总结
  17. 想成为“王者”的必备能力——领导力21法则
  18. 物联网背景的智慧农业 能否搭上顺风车
  19. 重来之大学版|卸负篇-同辈压力的影响,如何正确看待同辈压力?如何缓解压力?
  20. 软件测试之——性能测试(超级详细)这些你都知道吗?

热门文章

  1. PanoSim支持HWP测试解决方案简介
  2. C语言 获取当前日期的昨天,前天,明天,后天方法
  3. python代码画海绵宝宝步骤图解_简笔画教程 | 有一种回忆叫做海绵宝宝
  4. Mocha Pro:Track 模块
  5. 安卓自定义View进阶-事件分发机制原理【转自 app架构师 微信公众号】
  6. 买入期权和卖出期权两者之间的区别
  7. Edexcel A-Level数学P2知识点总结
  8. C语言三个数比大小(if实例)
  9. 小猪佩奇剧本台词(1-4季)小猪佩奇剧本(word)版下载
  10. 证书关于 pem der cer crt csr pfx 的区别