本文介绍一下如何在Github搭建一个静态博客

0x00 环境准备

  • 系统环境 Windows/Linux
  • 版本控制软件 Git
  • 一个Github账号
  • 支持markdown语法的编辑器 - Sublime

关于版本控制软件的安装:

https://git-scm.com/downloads 可以在这里看到对应的系统版本去下载安装包

注册一个github账号:https://github.com/ 右侧就有注册表单,按规则填写注册即可

Sublime下载地址:http://www.sublimetext.com/3

0x01 选择一个适合你的主题

访问Jeklly主题官网:http://jekyllthemes.org/

这里我选择了一个http://jekyllthemes.org/themes/fresh/

页面中有Download按钮,可以直接下载主题,但是这样不利于我们后续的push

点击HomePage 进入作者的github仓库,我们在自己的电脑中选择一个适合写作的目录,执行git clone https://github.com/artemsheludko/fresh

clone

0x02 更改配置文件

我们找到目录中的_config.yml

我根据自己的需求,稍微改改,另外如果不知道如何修改,可以参考jekyll手册:

目录结构介绍:http://jekyll.com.cn/docs/structure/

配置参数介绍:http://jekyll.com.cn/docs/configuration/

# Profile information
name: godkiller
title: godkiller
description: > # this means to ignore newlines until "baseurl:"
  记录生活、总结学习经验
permalink: ':title/'
baseurl: "/" # the subpath of your site, e.g. /blog
url: "" # the base hostname & protocol for your site, e.g. http://example.com

# Social
facebook: #Add your Facebook
twitter: #Add your Twitter
google-plus: #Add your Google+
github: #Add your Github

# Contact form
email: godkiller@aliyun.com

# Comments
discus-identifier: # Add your Disqus identifier

# Paginate
paginate: 5
paginate_path: /page:num/

# Build settings
markdown: kramdown
gems:
  - jekyll-feed
  - jekyll-paginate
exclude:
  - Gemfile
  - Gemfile.lock
include: [_pages]

创建一个仓库

登录github后,可以访问https://github.com/new来创建一个仓库,用来存放博客内容。

注意:Repository name必须是以 [github用户名].github.io 来命名

我的是GuestKiller,但是必须小写

Resp

创建成功后,就可以存入博客内容了

push你的博客 - 扬帆起航

在开始push之前,我们需要添加一个ssh公钥,以便于以后长期写作使用

访问:https://github.com/settings/keys

我们点击NEW SSH Key,进入添加页面后,在本地生成一个公钥。

打开(Linux)终端或者(Windows)Git执行ssh-keygen -t rsa,有可能会询问你是否覆盖,输入y即可

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:zZK0SQEXA6lX8aCQpp1rRrpDwcNwZV0qQaFeQojIqYY root@Kali
The key's randomart image is:
+---[RSA 2048]----+
|+.ooB+o=Oo       |
|=+.oooo+.=       |
|o=o+ooo.o .      |
|Eo*o=..o *       |
|. .= o  S o      |
|  o +    .       |
| . +             |
|  o              |
|   .             |
+----[SHA256]-----+

出现上面的情况就代表生成成功了。

Linux下直接按照下面的命令去查看:

root@Kali:~# cat ~/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhwvIIs9Nr9XDkX26C2XnU+8S7mE9clp9YkPMhAHvx5h0UHwMyW8elzqky7qnRvvS2TjUWX0Zmfk4Ezqni33x82WUoshs9a+yqhSByiVR1zQGMb3VO89hWcZrt8vwznDEBufpEB51o1EWGiSIwNa6BlNN3j++1bpYgoGsLG9UGRh5ymvHpmP0/rTlss5Xjc0E4UB3ZS2Oyv**********pVbnvTgJP6IRklcknZcJLXgK5UqTDrQBf7ctd9IVgvqQ0N43WINoWA10/62uxp6mgqxwOHveG70gOBIPTT8CHPYxiGjt4rm7/rtWzWWezt root@Kali

Windows则打开当前用户的目录,然后找到.ssh目录中的id_rsa.pub,将文件内容复制出来即可。

将这些字符串复制到key输入框内,Title自己定义

ssh_key

添加好后就要学习Git的基本操作了

删除当前旧的远程仓库
rm -rf .git

clone新的仓库
git clone git@github.com:GuestKiller/guestkiller.github.io.git

将当前目录所有的博客文件放入guestkiller.github.io目录中


root@Kali:~/guestkiller.github.io# ls
assets       Gemfile       _includes   _layouts  _pages  README.md
_config.yml  Gemfile.lock  index.html  LICENSE   _posts
root@Kali:~/guestkiller.github.io# git status
位于分支 master
初始提交
未跟踪的文件:
  (使用 "git add <文件>..." 以包含要提交的内容)
	Gemfile
	Gemfile.lock
	LICENSE
	README.md
	_config.yml
	_includes/
	_layouts/
	_pages/
	_posts/
	assets/
	index.html
提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)
root@Kali:~/guestkiller.github.io# git add .
root@Kali:~/guestkiller.github.io# git commit -m '1'
[master(根提交) f66f896] 1
 Committer: root <root@localhost.localdomain>
您的姓名和邮件地址基于登录名和主机名进行了自动设置。请检查它们正确
与否。您可以对其进行设置以免再出现本提示信息。运行如下命令在编辑器
中编辑您的配置文件:
    git config --global --edit
设置完毕后,您可以用下面的命令来修正本次提交所使用的用户身份:
    git commit --amend --reset-author
 43 files changed, 5658 insertions(+)
 create mode 100644 Gemfile
 create mode 100644 Gemfile.lock
 create mode 100644 LICENSE
 create mode 100644 README.md
 create mode 100644 _config.yml
 create mode 100644 _includes/analytics.html
 create mode 100644 _includes/disqus.html
 create mode 100644 _includes/head.html
 **********
 create mode 100644 assets/img/zagreb_city.jpg
 create mode 100644 index.html
root@Kali:~/guestkiller.github.io# git push
Warning: Permanently added the RSA host key for IP address '192.30.255.112' to the list of known hosts.
对象计数中: 58, 完成.
Delta compression using up to 2 threads.
压缩对象中: 100% (56/56), 完成.
写入对象中: 100% (58/58), 20.30 MiB | 1.32 MiB/s, 完成.
Total 58 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), done.
To github.com:GuestKiller/guestkiller.github.io.git
 * [new branch]      master -> master

然后访问guestkiller.github.io即可~

总结

文章写的粗糙,有问题可以联系我的微信:Guest_Killer_0nlis

详情:关于我