Hugo 建立静态网站快速入门
1 源起
总有许多领域一起向往,但由于领域的壁垒,一起不能进入,不断地尝试,不断地半途而废,终于有一天,下定决心,真的进来了发觉也就进来了。比如orgmode,比如github,比如Hugo。
2 使用hugo
2.1 前提
- 先要有一个github账号
- 下载Hugo:https://github.com/spf13/hugo/releases
- 下载msysGit:https://git-for-windows.github.io/
2.2 安装Hugo
- 单文件,放到任意目录,有建议与未来网页目录放在一起,如D:/hugo/bin
- 设置环境变量,在PATH中增加,D:/hugo/bin,这样做是为了在所有的目录下都可以运行hugo
2.3 创建站点
在D:/hugo目录下,cmd,假设新建的站点叫blog
``` hugo hugo new site blog ```
运行完成后,会在D:/hugo目录下创建一个blog文件夹,
2.4 创建页面
hugo new about.md
这是在D:/hugo/blog根目录下创建一个about.md文件
hugo new post/first.md
这是在D:/hugo/blog/post目录下创建一个first.md目录,未来的日志一般保存在这个目录下 创建完成后,md文件头部包括
+++
date = "2015-11-15T10:42:51+08:00"
draft = true # 是草稿,默认不生成html,需生成的话,需在运行命令中加 -D参数
title = "about" # 文件标题
+++
2.5 安装主题
如果有了git之后,安装比较简单,在blog下的theme文件夹下,运行
git clone http://github.com/spf13/hyde.git
皮肤的地址可以从https://github.com/spf13/hugoThemes中获取,注意看一下皮肤的说明,有的皮肤还需要安装别的东西才能运行。
除了git安装外,也可以直接将文件夹下载,拷入theme文件夹。
安装完主题后,还需要在配置中设置,配置文件位于blog目录下,config.toml
baseURL = "https://ianying.github.io/"
languageCode = "en-us"
title = "Ian's Blog"
theme = "hyde"
2.5 运行hugo
hugo server --theme=hyde --buildDrafts --baseUrl="http://ianying.github.io" --watch
theme指明使用的主题名称(themes文件夹下的主题文件夹名称),buildDrafts指出编译草稿部分(即draft=true的文件),watch参数可以在文件修改时实时自动刷新页面。生成后我们可以在按照命令行提示在浏览器中输入http://127.0.0.1:1313/ 如果在config.toml中配置了theme的话,可以省去–theme=hyde和–baseUrl="http://ianying.github.io”
此时blog文件夹下会生成一个http文件夹,该文件夹下的文件就是生成的静态文件,可以上传github了。
3. 上传github
3.1 配置github
git config --global user.name "你的注册用户名"
git config --global user.email "你的邮箱"
git config --global color.ui auto
3.2 设置SSH Key:
方法一:
ssh-keygen -t rsa -C "你的邮箱"
然后会要求输入存储id_rsa的目录,接着是输入密码,这个密码可以与github的不同,过程中确认即可,最后会出现一个随机图形,说明生成SSH密匙成功,这样我们需要到刚刚的存储目录下打开id_rsa.pub复制里面的内容,到你的github页面上->点击右上角头像旁三角->settings->SSH keys->add SSH key->黏贴刚刚复制的内容保存。
方法二:
运行git GUI,在help菜单中生成key,已生成的key也可以在这里显示
在github中添加SSH key
在setting中,SSH and GPG key中添加,Title我设置是的计算机的名字
3.3 Github创建repositories
创建一个ianying.github.io的repositories,就是那么长。内容可以为空。 在repositories的页面中在右上角的Clone or Download按钮中可以找到https的地址
3.4 上传文件
cd public
git init # 不执行这一步也是可以的
git add . # 全部add
git commit -m 'for init blog'
git remote add origin git@github.com:username/username.github.io.git #这步可以忽略??
git push -u origin master # origin master这块可以不要
4. 日常撰写工作流
- 创建md文件
cd blog
hugo new post/XXXXX.md
- 撰写日志,现在用的的Yu Writer–>VS code–>org mode
- 生成静态文件
cd blog
hugo -D
- 复制到git对应的本地目录
- git push
cd public
git add .
git commit -m 'for new blog'
git push
参考:
http://newoxygen.github.io/post/hugo%E5%BF%AB%E9%80%9F%E5%BB%BA%E7%AB%99/