用Hugo搭建博客并部署到GitHub Pages

之前担心过现有博客平台(如博客园,CSDN)突然倒闭了,博文特别是插图来不及备份;也考虑过自建博客可以更随意,因此有了自建博客的打算。花了两天时间,走了一些弯路,有一些经验总结:

  1. 做事情一定要搞清楚需求,掂量自己的实力。原本我只是想做一个备份,那么本地写好markdown,存好插图,再同步到博客园就行了,没有必要费力建博客搭网站。虽然Hexo和Hugo都有很多模板供选择,但如果要彻底改造成自己喜欢的样子,还得好好研究琢磨。对于没有任何HTML经验的我,这种工作量远远超过了我的预期。

  2. 不要沦为工具的努力。就像斟酌linux还是windows好一样,纠结自建博客和使用博客平台对我来说没太大意义。因为我的目的还是写作,博客也是服务于写作的。既然自建博客的收益并不能完全覆盖我的需求(可能还要支配大量的经历调bug),那么我就应该果断放弃。

  3. Hugo非常非常快,但中文文档和博客少,而且旧模板和新Hugo的兼容性也不好;Hexo中文文档和博客特别多,模板也不错,但是稍微麻烦一点,而且慢得多。

最后,我就简单地用Hugo搭建了一个个人CV(简历)网站。下面记录一下流程:

1. 本地搭建

1.1 安装Hugo

  1. Hugo官方GitHub仓库,下载最新的win64安装包。解压到D:\hugo
  2. 配置环境变量:此电脑->属性->高级系统设置->环境变量->系统变量->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的更多相关文章

  1. 基于Hexo搭建博客并部署到Github Pages

    基于Hexo搭建博客并部署到Github Pages 之前在简书上写东西,觉得自己还是太浮躁.本来打算用Flask自己写一个,以为是微框架就比较简单,naive.HTML.CSS.JS等都要学啊,我几 ...

  2. Linux下使用 github+hexo 搭建个人博客02-hexo部署到Github Pages

    之前的这篇文章<Linux下使用 github+hexo 搭建个人博客01-hexo搭建>,相信大家都知道怎么搭建 hexo ,怎么切换主题,并且完成了一篇博文的创建,以及 MarkDow ...

  3. 史上最详细“截图”搭建Hexo博客并部署到Github

    http://jingyan.baidu.com/article/d8072ac47aca0fec95cefd2d.html 大家也搭建过博客,很多时候,按着教程来做就可以了,但是我当时为了搭建Hex ...

  4. Termux搭建hexo博客并部署到GitHub

    Termux搭建hexo博客并部署到GitHub 安装 termux-change-repo apt update apt install git && nodejs &&am ...

  5. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置

    前言 有朋友问了我关于博客系统搭建相关的问题,由于是做开发相关的工作,我给他推荐的是使用github的gh-pages服务搭建个人博客. 推荐理由: 免费:github提供gh-pages服务是免费的 ...

  6. Hexo瞎折腾系列(6) - 将博客同时部署到Github和Coding

    前言 由于本人只是将Hexo博客同时部署到 Github 和 Coding.net ,所以这里只介绍怎么同时部署到这两个网站的pages. 之所以选择这两个网站,是因为国外用户可以访问 Github, ...

  7. 使用Hexo搭建个人博客并部署到GitHub或码云上全过程

    一.前言 如上图所示:GitHub有Github Pages,而码云也有码云 Pages 1.Github Pages或Gitee Pages是什么呢? Github Pages或者Gitee Pag ...

  8. 如何用hugo 搭建博客

    1,Hugo 简介 搭建个人博客有很多开源的博客框架,我们要介绍的框架叫作Hugo.Hugo 是一个基于Go 语言的框架,可以快速方便的创建自己的博客. Hugo 支持Markdown 语法,我们可以 ...

  9. 使用django搭建博客并部署

    2017/8/31 18:27:59 为了以后参考的方便,在这里总结一下django搭建博客网站的主要步骤.以下大部分的内容,参考自Django中文文档 - 看云. 需要强调的是,这里使用的djang ...

随机推荐

  1. Zstack的安装部署

    ZStack是下一代开源的云计算IaaS(基础架构即服务)软件. 它主要面向的是未来的智能数据中心,通过提供全完善的API来管理包括计算.存储和网络在内的数据中心的各种资源.跟OpenStack相比, ...

  2. 团队项目之Alpha阶段项目复审

    组的名字和链接 优点 缺点,bug报告 最终名次 六姑娘 https://www.cnblogs.com/liujiamei/p/11992659.html 团队的小程序功能齐全,这说明团队在需求分析 ...

  3. DSP程序中的布尔类型使用

    在DSP程序中,布尔类型不能直接拿来用,要定义一下,可以通过定义为枚举类型来定义: typedef enum{FALSE=0,TRUE} BOOL; 一般枚举类型的定义是这样的:enum [枚举名] ...

  4. Data Guard Physical Standby - RAC Primary to RAC Standby 使用第二个网络 (Doc ID 1349977.1)

    Data Guard Physical Standby - RAC Primary to RAC Standby using a second network (Doc ID 1349977.1) A ...

  5. celery执行异步任务和定时任务

    一.什么是Clelery Celery是一个简单.灵活且可靠的,处理大量消息的分布式系统 专注于实时处理的异步任务队列 同时也支持任务调度 Celery架构 Celery的架构由三部分组成,消息中间件 ...

  6. win10+Ubuntu16.04双系统下深度学习环境的搭建

    环境零零碎碎地搭了三四天,虽然碰到各种问题,但还是搭建好了,自己整理记录下,同时也算给有需要的人一些指导吧 一.双系统的安装 Win10硬盘管理助手 压缩或者直接利用未使用的空间,空间大小自定,将腾出 ...

  7. 32.Java基础_异常

    JVM虚拟机默认异常处理机制 Java异常处理: 1.try...catch... 2.throw 1.try...catch... public class test{ public static ...

  8. Linux下部署SSM,通过启动tomcat即可运行

    Linux下部署SSM项目 1. Java环境配置(JRE&JDK) 安装JDK8:sudo yum install java-1.8.0-openjdk 将操作系统配置为默认使用JDK8:s ...

  9. Javascript模块化开发3——Grunt之预处理

    一.grunt预处理简述 grunt的注册任务函数本身会对传入的参数和配置对象里的相关属性进行一定的预处理,方便任务函数进行操作. grunt的registerTask方法和registerMulti ...

  10. Python 从入门到进阶之路(七)

    之前的文章我们简单介绍了一下 Python 中异常处理,本篇文章我们来看一下 Python 中 is 和 == 的区别及深拷贝和浅拷贝. 我们先来看一下在 Python 中的双等号 == . == 是 ...