githubPage+Jekyll 搭建博客
代码托管
注册账号
不用多说吧
创建仓库
点击右上角➕,再点击New repository
仓库名的格式为 “用户名”.github.io(因为GitHub对于同一个账户只允许生成一个直接访问的网站)
将仓库与本地连接(绑定)
下载并安装git
下载链接
打开git-bash
将git与仓库绑定
1
2
git config --global user.name "github用户名"
git config --global user.email "邮箱"
SSH设置(github根据ssh接受你从本地对于git的管理)
配置SSH
打开 git-bash ,输入
1
ssh-keygen -t rsa
敲三次回车,然后在 C:\Users\计算机名 中会生成一个.ssh的文件夹
该文件夹下有 id_rsa(私钥) 和 id_rsa.pub(公钥) 两个文件
打开 github-> setting -> SSH and GPG keys-> New SSH key
title 可写可不写,将id_rsa.pub 中的内容复制到key中
检验ssh是否配置成功
在git bash中输入
1
ssh -T git@github.com
控制台输出 “You’ve successfully authenticated, but GitHub does not provide shell access” 即为配置成功。
Jekyll 环境搭建
安装rubygems
在官网下载自带Devkit版本,链接
安装时勾上Add Ruby executables to your PATH
命令行输入ruby -v 检查ruby是否安装成功
输入gem -v检查1是否安装成功
用gem命令安装jekyll
命令行输入 gem install jekyll bundler //通过 RubyGems 安装 Jekyll 和 Bundler gems
创建并启动一个 jekyll站点
1
2
3
4
5
#命令行输入
jekyll new myBlog # 在./myBlog创建一个 jekyll 站点
cd myBlog # 进入到生成的文件夹中
bundle exec jekyll serve # 在本地预览服务中编译站点
#浏览器打开 `http://localhost:4000`
上传至github
挑选主题
挑选好后点击 Download
解压缩到任一文件夹
搭建本地网站浏览模板
1
2
3
4
# 命令行执行
cd {你的文件夹位置}
bundle exec jekyll serve
#浏览 http://localhost:4000 即可查看这个模板
克隆git仓库
1
2
3
4
5
#打开主题所在文件夹,git-bash执行:
git clone git://github.com/{git用户名}/{git仓库名称}
#例如我的仓库名称是 `jamartin-create.github.io`
#则我的git命令为:
git clone git://github.com/Jamartin-create/Jamartin-create.github.io
将该模板push到仓库中
clone 远程仓库之后,主题文件夹根目录生成一个和仓库名一样的文件夹
例如我这里就生成了一个 Jamartin-create.github.io 的文件夹
找到 _site 文件夹,将下面的文件夹(除去{仓库名}那个文件夹)
复制到 根目录下 {仓库名} 的文件夹
1
2
3
4
# 在 根目录下 {仓库名} 中执行git-bash命令:
git add . # 表示将当前文件夹下所有文件添加到暂存区
git commit -m "备注" # commit 表示将暂存区提交到本地仓库中
git push origin master # 将本地的master分支推送到远程仓库中(origin主机的master分支)
浏览gitpage页面
在网址中输入{仓库名}
例如我这里就是: [lilmartin](
Jekyll主题模板目录介绍
Jekyll模板结构树介绍
1
2
3
4
5
6
7
8
9
10
11
.
├── _config.yml
├── _data
├── _drafts
├── _includes
├── _layouts
├── _posts
├── _sass
├── _site
├── .jekyll-metadata
└── index.html
文件夹/文件 | 说明 |
---|---|
_config.yml | 存储配置数据,个人信息以及网站的组件信息在这里可以修改。 |
_drafts | 该文件夹下的文件为草稿。 |
_includes | 你可以加载这些包含部分到你的布局或者文章中以方便重用。 |
_layouts | layouts(布局)是包裹在文章外部的模板。 |
_posts | 放置自己的文章,文件名称格式:YEAR-MONTH-DAY-title.md |
_data | 格式化好的网站数据应放在这里。 |
_site | 一旦jekyll转换完成,就会将产生的静态页面数据放在这里。 |
.jekyll-metadata | 跟踪上次建立站点的文件同时与现在相比哪些没有修改。 |
发布文章
关于markdown
编译软件,我使用的是 Typora
文章存放位置
_drafts:该文件夹下放未完成的文章(文件名没有格式要求)
_posts:该文件夹下放要发布的文章
撰写文章
Front Matter
这里 只介绍一点点,详细介绍请看大佬
Front Matter 是Jekyll开始变得非常酷的地方
Front Matter 必须是文件中的第一个事物
任何包含 YAML Front Matter 的文件都将由 Jekyll 作为特殊文件进行处理
格式为:
1
2
3
4
5
6
7
8
---
layout: post
title: "Hello YAML"
date: 2021-07-22 12:05:55 0800
category: Child Class
categories: Dad Class
tags: [example,blog]
---
正文部分
markdown编写文章请参考菜鸟教程markdown部分
参考文章:GarLin
遇到问题
ssh
在配置了ssh之后,发现每次push还是需要输入账号密码
git-bash执行命令
1
git config --global credential.helper store
然后操作 pull/push ,第一次需要输入账号密码,下次再操作就不需要了。
关于字符编码的问题
在我执行了 bundle exec jekyll serve 之后曝出以下错误
1
Liquid Execption: Liquid error (line 13):invalid byte sequence in UTF-8 in sitemap.xml
解决方法是找到 “md文件头” 中的 “tags” 中含有中文的md文件
将中文标签删除或改为英文标签
然后找到 _site 文件夹下的 setmap.xml 中的中文编码所在的标签
删除该标签以及其父标签
然后重新执行
1
bundle exec jekyll serve
-
gem命令常用于用构建、上传、下载以及安装Gem包(与yum和npm的功能很像) ↩