用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. CODING 2.0 服务升级:一站式服务体系助力企业研发上云

    近日,CODING 在 KubeCon 2019 上海站上正式推出了 DevOps 的一站式解决方案: CODING 2.0,除了进行 产品 及 产品理念 的升级,还对用户服务进行了整体升级,主要涵盖 ...

  2. #r语言(二)笔记

    #r语言(二)笔记 #早复习 #概述:R是用于统计分析.绘图的语言和操作环境 #对象: #数据类型--统称为对象 #向量(vector):用于存储数值型.字符型或逻辑型数据的一维数组. #定义向量: ...

  3. Mac中 pip3 install mysqlclient 报错

    主要错误提示如下: ld: library not found for -lssl clang: error: linker command failed with exit code 1 (use ...

  4. 关于操作服务器上tomcat的常用linux指令

    ll:     列出目录下的所有文件 cd:切换目录 pwd:显示目前的目录 grep  xxxxxx catalina.out    查询文件中关于某个信息的内容 grep -3  xxxxxxca ...

  5. Git push error: http 411的解决方案总结

    目录 一.事故现场 二.事故原因 三.解决方案 一.事故现场 git push 的时候报错如下: 将分支推送到远程存储库时遇到错误:Git failed with a fatal error, the ...

  6. Cisco学习记录(二):路由及网络设备配置

    本篇我们利用cisco packet tracer搭建一个简单的网络.我们在左下方的设备中尝试选择创建两个4321路由器和一个3560-24PS Multilayer交换机,然后在左下方的电缆线中选择 ...

  7. IT兄弟连 HTML5教程 CSS3揭秘 CSS选择器1

    要使用CSS对HTML页面中的元素实现一对一.一对多或者多对一的控制,就需要用到CSS选择器.选择器是CSS3中一个重要的内容,使用它可以大幅度地提高开发人员书写或修改样式表的效率.在大型网站中,样式 ...

  8. SVM算法核函数的选择

    SVM支持向量机,一般用于二分类模型,支持线性可分和非线性划分.SVM中用到的核函数有线性核'linear'.多项式核函数pkf以及高斯核函数rbf. 当训练数据线性可分时,一般用线性核函数,直接实现 ...

  9. Spring Boot 2.X(九):Spring MVC - 拦截器(Interceptor)

    拦截器 1.简介 Spring MVC 中的拦截器(Interceptor)类似于 Servlet 开发中的过滤器 Filter,它主要用于拦截用户请求并作相应的处理,它也是 AOP 编程思想的体现, ...

  10. .net core 2.1 基于Jwt的登录认证

    1.新建一个.net core2.1 基于 api 的工程,引用Microsoft.AspNetCore.Authentication.JwtBearer 包 2.新建一个Token的实体类,一个Jw ...