安装hugo

1
sudo pacman -S hugo

创建网站

1
hugo new site myBlog

安装主题 hugo-theme-jane

把这个主题克隆到 themes 文件夹

1
2
cd myBlog
git clone https://github.com/xianmin/hugo-theme-jane.git --depth=1 themes/jane

复制一些示例文本

1
cp -r themes/jane/exampleSite/content ./

复制默认的站点设置

1
cp themes/jane/exampleSite/config.toml ./

启动 hugo server

1
hugo server

查看示例网站,浏览器打开 http://localhost:1313/

把网站放到github

注册github账号

创建github.io仓库

点击New repository–>输入仓库名称格式为:用户名.github.io(如:leach-chen.github.io)->点击Create repository。 浏览器里访问 https://leach-chen.github.io/, 可以发现这个url可以被访问了

设置Git的user name 和 email (如果没有设置的话)

1
2
git config --global user.name "humingx"
git config --global user.email "humingx@yeah.net"

生成密钥

1
2
ssh-keygen -t rsa -C "78528291@163.com"
#连续3个回车。如果不需要密码的话。最后得到了两个文件:id_rsa和id_rsa.pub

登陆Github, 添加 SSH key

Settings——SSH and GPG keys——New SSH key。

  • Title 添加一个标题方便自己区分.

  • Key 把id_rsa.pub文件里的内容复制到这里

git初始化网站仓库

1
2
cd myBlog
git init

添加github.io仓库做为git仓库的子模块到public目录

1
git submodule add -b master git@github.com:keysaim/keysaim.github.io.git public

生成静态博客站

1
2
#直接运行hugo命令,就会在public目录下生成静态博客站。
hugo

提交到github.io

1
2
3
4
cd public
git add .
git commit -m "YOUR COMMIT MESSAGE"
git push origin master

查看你的github.io博客

正常情况下,过一会你就可以看到你基于Hugo的github.io博客站了,博主的是https://keysaim.github.io/

配置域名

购买域名

解析域名

记录类型 CNAME 记录值 keysaim.github.io

创建CNAME文件

在GitHub博客仓库的根目录中新建文件CNAME(主要文件名一定要大写,没有后缀)。 在该文件增加一行文字,告诉Github Pages服务器你想指定的域名。该域名不能包含前缀信息,即不能添加http://前缀。

域名访问是否生效(域名解析生效,一般等待十来分钟左右,即可访问)

emacs上使用easy-hugo发布

下载安装 easy-hugo

配置

1
2
3
4
5
6
7
8
(require 'easy-hugo)

(setq easy-hugo-basedir "~/Repository/code/blog")
(setq easy-hugo-url "http://sxqs.fun")
(setq easy-hugo-sshdomain "sxqs.fun")
(setq easy-hugo-root "~/Repository/code/blog")
(setq easy-hugo-previewtime "300")
(setq easy-hugo-default-ext ".org")

一键发布脚本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#!/bin/bash

echo -e "\033[0;32mDeploying updates to GitHub...\033[0m"
hugo 

cd public
git add -A

msg="rebuilding site `LANG=C date`"
if [ $# -eq 1 ]
  then msg="$1"
fi
git commit -m "$msg"

git push origin master

cd ..

emacs启动

1
M-x easy-hugo