Posts gitpage+jekyll搭建博客
Post
Cancel

gitpage+jekyll搭建博客

githubPage+Jekyll 搭建博客

代码托管

注册账号

不用多说吧

创建仓库

点击右上角➕,再点击New repository

photo

仓库名的格式为 “用户名”.github.io(因为GitHub对于同一个账户只允许生成一个直接访问的网站)

photo

将仓库与本地连接(绑定)

下载并安装git

photo

下载链接

打开git-bash

photo

将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版本,链接

photo

安装时勾上Add Ruby executables to your PATH

命令行输入ruby -v 检查ruby是否安装成功

输入gem -v检查1是否安装成功

用gem命令安装jekyll

命令行输入 gem install jekyll bundler //通过 RubyGems 安装 JekyllBundler gems

创建并启动一个 jekyll站点

1
2
3
4
5
#命令行输入
jekyll new myBlog # 在./myBlog创建一个 jekyll 站点
cd myBlog # 进入到生成的文件夹中
bundle exec jekyll serve # 在本地预览服务中编译站点
#浏览器打开 `http://localhost:4000`

上传至github

挑选主题

jekyll官网 /我用的主题是chirpy

挑选好后点击 Download

解压缩到任一文件夹

搭建本地网站浏览模板

1
2
3
4
# 命令行执行
cd {你的文件夹位置} 
bundle exec jekyll serve 
#浏览 http://localhost:4000 即可查看这个模板

bundler安装教程

克隆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
  1. gem命令常用于用构建、上传、下载以及安装Gem包(与yum和npm的功能很像) 

This post is licensed under CC BY 4.0 by the author.

HashMap(一)用法

github-webhook与企业WeChat-webhook中间件开发(一)webhook

Comments powered by Disqus.