Note | 用Hugo搭建博客并部署到GitHub Pages
用Hugo搭建博客并部署到GitHub Pages
之前担心过现有博客平台(如博客园,CSDN)突然倒闭了,博文特别是插图来不及备份;也考虑过自建博客可以更随意,因此有了自建博客的打算。花了两天时间,走了一些弯路,有一些经验总结:
做事情一定要搞清楚需求,掂量自己的实力。原本我只是想做一个备份,那么本地写好markdown,存好插图,再同步到博客园就行了,没有必要费力建博客搭网站。虽然Hexo和Hugo都有很多模板供选择,但如果要彻底改造成自己喜欢的样子,还得好好研究琢磨。对于没有任何HTML经验的我,这种工作量远远超过了我的预期。
不要沦为工具的努力。就像斟酌linux还是windows好一样,纠结自建博客和使用博客平台对我来说没太大意义。因为我的目的还是写作,博客也是服务于写作的。既然自建博客的收益并不能完全覆盖我的需求(可能还要支配大量的经历调bug),那么我就应该果断放弃。
Hugo非常非常快,但中文文档和博客少,而且旧模板和新Hugo的兼容性也不好;Hexo中文文档和博客特别多,模板也不错,但是稍微麻烦一点,而且慢得多。
最后,我就简单地用Hugo搭建了一个个人CV(简历)网站。下面记录一下流程:
1. 本地搭建
1.1 安装Hugo
- 到Hugo官方GitHub仓库,下载最新的win64安装包。解压到
D:\hugo
。 - 配置环境变量:
此电脑
->属性
->高级系统设置
->环境变量
->系统变量
->Path
->编辑
->新建
->D:\hugo
。
1.2 创建站点
在命令行中运行hugo new site G:/RyanXing
,即创建了一个名为RyanXing
的文件夹,作为Hugo站点。
1.3 新建页面和文章
进入该文件夹:
新建页面:
hugo new links.md
该文件自动出现在
content/links.md
。创建文章:
hugo new post/myfirst.md
其自动出现在
content/post/myfirst.md
。放在post
目录是为了方便聚合页面。注意要把draft一行去掉。draft意思是草稿,即在生成时不出现。
1.4 使用主题
在Hugo Themes选择喜欢的主题。有适合简历的,也有适合博客的。
要根据主题提供的README进行后续操作。假设选择Minos。根据说明文档,执行:
cd themes/
git clone --depth 1 https://github.com/carsonip/hugo-theme-minos
然后在根目录的config.toml
中设置该主题为默认主题即可(添加该行):
theme = "hugo-theme-minos"
1.5 修改配置文件
我们现在继续修改根目录的config.toml
。
baseurl = "https://ryanxingql.github.io/"
languageCode = "zh-CN"
title = "RyanXing's CV"
paginate = 10
theme = "hugo-theme-minos"
1.6 预览
在根目录执行:hugo server
。此时生成的是静态文件,真的很快。只要server不关,会一直监控文件变化,自动生成静态文件。
我们可以看到命令行提示Web Server is available at ...
。在浏览器输入http://localhost:1313
。
一定要记得去掉正文的draft,否则不显示。
2. 部署
在GitHub上创建一个仓库,名为RyanXingQL.github.io
。注意命名规范。
在根目录执行:hugo
。
此时,所有的静态页面都会生成到public
目录。执行以下命令:
cd public
git init
git remote add origin git@github.com:RyanXingQL/RyanXingQL.github.io.git
git add -A
git commit -m "first commit"
git push -u origin master
浏览器输入https://ryanxingql.github.io/
,刷新一下就能看到啦。Hugo非常快。
如果要搭博客,后期要考虑的事情就多了。比如评论系统,各种装饰插件等。
Note | 用Hugo搭建博客并部署到GitHub Pages的更多相关文章
- 基于Hexo搭建博客并部署到Github Pages
基于Hexo搭建博客并部署到Github Pages 之前在简书上写东西,觉得自己还是太浮躁.本来打算用Flask自己写一个,以为是微框架就比较简单,naive.HTML.CSS.JS等都要学啊,我几 ...
- Linux下使用 github+hexo 搭建个人博客02-hexo部署到Github Pages
之前的这篇文章<Linux下使用 github+hexo 搭建个人博客01-hexo搭建>,相信大家都知道怎么搭建 hexo ,怎么切换主题,并且完成了一篇博文的创建,以及 MarkDow ...
- 史上最详细“截图”搭建Hexo博客并部署到Github
http://jingyan.baidu.com/article/d8072ac47aca0fec95cefd2d.html 大家也搭建过博客,很多时候,按着教程来做就可以了,但是我当时为了搭建Hex ...
- Termux搭建hexo博客并部署到GitHub
Termux搭建hexo博客并部署到GitHub 安装 termux-change-repo apt update apt install git && nodejs &&am ...
- 手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置
前言 有朋友问了我关于博客系统搭建相关的问题,由于是做开发相关的工作,我给他推荐的是使用github的gh-pages服务搭建个人博客. 推荐理由: 免费:github提供gh-pages服务是免费的 ...
- Hexo瞎折腾系列(6) - 将博客同时部署到Github和Coding
前言 由于本人只是将Hexo博客同时部署到 Github 和 Coding.net ,所以这里只介绍怎么同时部署到这两个网站的pages. 之所以选择这两个网站,是因为国外用户可以访问 Github, ...
- 使用Hexo搭建个人博客并部署到GitHub或码云上全过程
一.前言 如上图所示:GitHub有Github Pages,而码云也有码云 Pages 1.Github Pages或Gitee Pages是什么呢? Github Pages或者Gitee Pag ...
- 如何用hugo 搭建博客
1,Hugo 简介 搭建个人博客有很多开源的博客框架,我们要介绍的框架叫作Hugo.Hugo 是一个基于Go 语言的框架,可以快速方便的创建自己的博客. Hugo 支持Markdown 语法,我们可以 ...
- 使用django搭建博客并部署
2017/8/31 18:27:59 为了以后参考的方便,在这里总结一下django搭建博客网站的主要步骤.以下大部分的内容,参考自Django中文文档 - 看云. 需要强调的是,这里使用的djang ...
随机推荐
- AndroidStudio3.0升级成3.5后之前项目报错解决
报错截图: 解决办法:在项目的build.gradle文件下加上google即可,如图:
- QT--动态人流量监测系统
QT--动态人流量监测系统 简介: 本项目使用了百度AI的动态人流量监测api,以人体头肩为主要识别目标,适用于低空俯拍,出入口场景,可用于统计当前图像的锁定人数和经过的人数 项目功能 本项目分为相机 ...
- LeetCode刷题191218
好多天没有更新了,今天有空,刷一道. 算法第5题 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad"输出: ...
- 第十六届浙江大学宁波理工学院程序设计大赛 E 雷顿女士与平衡树(并查集)
题意 链接:https://ac.nowcoder.com/acm/contest/2995/E来源:牛客网 卡特莉正在爬树,此时她又在树梢发现了一个谜题,为了不令她分心以至于发生意外,请你帮她解决这 ...
- ism 发布
ism 发布 ism 发布 ism 发布
- 【OCR技术系列之四】基于深度学习的文字识别
上一篇提到文字数据集的合成,现在我们手头上已经得到了3755个汉字(一级字库)的印刷体图像数据集,我们可以利用它们进行接下来的3755个汉字的识别系统的搭建.用深度学习做文字识别,用的网络当然是CNN ...
- Swoole如何处理高并发
有需要学习交流的友人请加入swoole交流群的咱们一起,有问题一起交流,一起进步!前提是你是学技术的.感谢阅读! 点此加入该群 swoole如何处理高并发 ①Reactor模型介绍 IO复用异步非阻塞 ...
- IT兄弟连 HTML5教程 HTML5表单 新增的表单属性3
9 novalidate novalidate是属性规定在提交表单时不应该验证form和input域.novalidate属性适用于的<input>类型有:text.search.url ...
- mybatis的mapper.xml中使用java类中的全局变量
select * from demo where status = '${@cn.jichi.Global@zz}'
- 什么是BGP协议
Border Gateway Protocol,边界网关协议,简称BGP,主要用于互联网AS(自治系统)之间的互联. Linux内核原生支持的.专门用在大规模数据中心维护不同的"自治系统&q ...