使用 termux搭建hugo并部署到github
前言
Hugo是由go语言编写的静态网站生成引擎,以其速度著称,号称是“The world’s fastest framework for building websites”。
Termux是在Android系统上的一款终端模拟器。功能非常强大,可以运行一些linux应用。所以可以用termux当作终端来搭建hugo。
搭建
准备工作
在正式开始之前需要先下载termux并安装相关软件包才能开始正式搭建。
-
下载termux
- 在GitHub或者F-droid上下载并安装打开termux
- 获取存储权限
termux-setup-storage
- 更新包
pkg upgrade -y
- 安装相关工具(git和vim)
pkg install git vim -y
安装&使用
-
安装hugo
- 安装
pkg install hugo -y
-
创建网页
- 建立新的站点
hugo new site (你的站点名)
- 下载&安装主题
cd (你的站点名)
cd themes
git clone (主题下载地址)
hugo默认是没有主题的,所以你需要先安装一个主题才能使用hugo。
在网上找到一个hugo主题然后把(主题下载地址)替换成你找到的主题。
或者直接下载主题的源码解压到themes目录。
主题的安装方式可能会略有不同,你需要找到主题官方发布的安装教程按照教程安装。
- 启动服务
hugo server
注意要在站点的根目录执行,也就是(你的站点名)这个目录。
启动成功后可以在浏览器输入localhost:1313浏览站点
输入这个指令默认的配置文件是toml格式的,如果你习惯使用yaml格式就输入
hugo convert toYAML [flags] [args]
将内容目录中的所有前置内容转换为使用yaml格式的前置内容。
文章的front matter结构是:
title: 文章的标题
date: 文章的发布日期(通常为 YYYY-MM-DD 格式)
author: 作者的名字
draft: 是否为草稿(true 或 false)
tags: 标签列表,用于组织文章
categories: 分类列表,用于归类文章
slug: URL 中的自定义短路径
summary: 文章的摘要,通常用于列表页面
keywords: 页面关键词,用于 SEO
description: 页面描述,用于 SEO。
aliases: 旧网址的重定向列表
type: 内容类型,决定该内容使用的模板
layout: 指定使用的模板布局
文章采用Markdown标记语言,使用方法可以去Markdown官方教程查看。
以上就是网页的基础搭建,如果想要定制你的hugo 或遇到了什么错误请参阅hugo官方文档或hugo中文文档。
部署
github上的准备
-
账户&仓库
- 注册github账户
- 建立远程仓库
在github创建new repository,注意仓库名一定要是你的 github用户名.github.io
其他的可填可不填。
- 设置仓库
进入仓库设置/Pages
把Build and depolyment下面的source选项改成Deploy from a branch。
git的使用
如果public下没有文件就需要在(你的站点路径)下输入
hugo -D
生成静态文件。
- 配置用户信息
git config --global user.name "(你的用户名)"
git config --global user.email "(你的电子邮件)"
注意:(你的用户名)和(你的电子邮箱)不一定要和GitHub上的相同。
- 初始该目录为git仓库
git init
如果输入一次没有成功就输入两次。
- 添加远程仓库
git remote add (别名,一般为origin) "(仓库的SSH链接)"
使用git remote add添加SSH链接首先要先知道github仓库的SSH链接。
在仓库首页点击code再点击SSH就能看到仓库的SSH链接了。
- 查看仓库信息
git remote -vv
- SSH密钥生成密钥对
ssh-keygen -t rsa -C “(备注)”
获取生成的公钥一般在Termux的home目录下的.ssh文件,可以在安桌原生文件中打开,也可授权给别的应用打开。
找到.ssh目录下的id.rea.pub文件以文本形式打开复制里面所有内容,将复制的内容粘贴到GitHub。
在GitHub网站点击自己的头像,再点击Settings,找到SSH and GPG Keys 点击New SSH Kays把刚刚复制的内容粘贴到key的下面随便取一个Title点击Add SSH Key添加密钥,如果需要输入密码就输入GitHub的密码。
- 提交public下所有文件到数据暂存区
git add .
- 提交文件更改
git commit -m "(推送信息)"
- 推送
git push -u origin main
origin是上面提到的别名。
main代表主分支,如果推送到main分支失败
可以使用命令:
git pull -f origin main
强制推送,使用此代码会强制用本地代码覆盖远程仓库代码。
如果以上办法不行,就输入:
git push -u origin master
master是默认分支名。
推送之后需要到GitHub仓库中的设置中的Pages把Branch改成master。
以上就是hugo在GitHub上的部署。
还有另一种利用GitHubActions部署的方法请查阅Hugo官网。
最后,感谢你的观看,希望这些对你有帮助!