用hugo建博客的记录 · 老张不服老
前后累计折腾近6个小时,总算把搭建hugo静态博客的整个过程搞清楚了。为什么用了这么久?主要还是想偷懒,不喜欢读英文说明。那就用中文记录一下过程吧。还是中文顺眼啊。
某日发现自己有展示些东西给外网的需求,又不想通过DDNS在本地电脑上架设服务器,于是决定建一个免费网站。以前帮朋友们建过几个免费网站,知道免费空间大多有种限制或者要有广告。但我只需要展示一两个静态网页就足够,为此还要接受广告心里不爽。在各种搜索下,终于确定github page就是最合适的方案。
不想自己手动逐项设置,打算找一个工具。大部分静态博客生成器都需要依赖环境,唯有hugo只需要一个可执行文件就够,深得我心,况且据说它的性能远超侪辈,得,就它了。现在开始!
必须步骤
下载与安装
对hugo来说,这几乎不需要任何说明。下载到的是一个exe单文件,不需要安装,随便扔到哪个目录下就可以运行。为了不用每次都输入绝对路径,最好把它添加到系统环境路径PATH中。
下载页面
选择或创建放置博客的目录
Windows 命令行下使用 mkdir 目录名
。
当然也可以在窗口中创建。但既然 hugo 是命令行程序,索性都在命令行下完成。
创建博客目录结构
最好先切换 大专栏 用hugo建博客的记录 · 老张不服老到创建的目录下。
cd 目录名
hugo new site 目录名
下载皮肤模板
通常是使用 git 下载皮肤模板,但其实也可以直接下载后解压到相应的目录。
这里可以查看一些皮肤模板。
使用 git 下载全部皮肤模板。不易成功,最好选择其中一个皮肤模板下载。
git clone --recursive https://github.com/spf13/hugoThemes themes
设置皮肤模板
大概看了一下其他皮肤模板,几乎所有皮肤模板都是复制皮肤模板下的配置文件覆盖到根目录下就可以使用了。有个别皮肤模板的具体细节要对照皮肤模板的说明。
新建一篇博客
新建文件的命令默认会将文件放到 content 文件夹下。一般使用 content 文件夹下的 post 文件夹放置要发表的博客。hugo 称这样的文件夹为 section 。
hugo new posthelloWorld.md
使用自己喜爱的编辑器编辑此文件即可。可以使用预览功能实时查看格式。运行下面的命令即可在 http://localhost:1313 预览。
hugo server
生成页面
前面虽然已经可以预览,但并未生成相关网页。要发布前必须先生成一下。生成的网站放在 public 目录下。直接运行 hugo
即可生成。速度飞快。
同步到托管网站
用hugo建博客的记录 · 老张不服老的更多相关文章
- Note | 用Hugo搭建博客并部署到GitHub Pages
目录 1. 本地搭建 1.1 安装Hugo 1.2 创建站点 1.3 新建页面和文章 1.4 使用主题 1.5 修改配置文件 1.6 预览 2. 部署 之前担心过现有博客平台(如博客园,CSDN)突然 ...
- 如何用hugo 搭建博客
1,Hugo 简介 搭建个人博客有很多开源的博客框架,我们要介绍的框架叫作Hugo.Hugo 是一个基于Go 语言的框架,可以快速方便的创建自己的博客. Hugo 支持Markdown 语法,我们可以 ...
- CSDN博客排名记录
截止今天,在CSDN的博客排名终于从"千里之外"变成具体的排名数字了.根据CSDN的规则,只有排名在20000以内才能显示具体的排名.从2015年5月11日开始写了第一篇博客.后来 ...
- 头一次玩博客,记录下我的java之路吧
今天写了简单的后台管理系统,发现光靠脑子记住知识真的很难,笔记本不好翻,之前写的代码更难找,所以写写博客,记录一些知识,为了以后上班用得到.
- GithubPages+Hexo博客搭建记录
目录 前言 安装Node.js 安装Git 安装Hexo 查看效果 建立Github Pages 注册Github帐户 建立托管博客的仓库 制作SSH密钥 添加公钥到Github 测试连接 把本地的博 ...
- 00-django | 01-构建博客目录
00-django | 01-构建博客目录 python Django 创建blog 进入到 manage.py 文件所在的目录(即项目根目录)下,运行 pipenv run python manag ...
- php源码建博客5--建库建表-配置文件-错误日志
主要: 整理框架 建库建表 配置文件类 错误日志记录 --------------本篇后文件结构:-------------------------------------- blog ├─App │ ...
- 使用django开发博客过程记录3——博客侧栏实现
说起这个侧栏真是苦恼我很长时间,一开始以为和之前的一样传递额外参数就可以了就像下面这样: class IndexView(ListView): template_name = 'apps/index. ...
- 使用 vue + thinkjs 开发博客程序记录
一入冬懒癌发作,给自己找点事干.之前博客程序写过几次,php 的写过两次,nodejs 用 ThinkJS 写过,随着 ThinkJS 版本从1.x 升级到 2.x 之前的博客程序也做过升级.但是因为 ...
随机推荐
- Python中比较特殊的几种数据类型list、tuple、dict、set
list list(列表)是Python内置的一种数据类型,它是一种有序.可变的集合,可以随时添加和删除其中的元素. >>> classmates = ['Li', 'Tom', ' ...
- Seconds from winning
英语沙龙 1. Who winned the game? Answer: It was not Paxton who would hoist the winner's trophy. Paxton h ...
- 2020 CCPC Wannafly Winter Camp Day2-K-破忒头的匿名信
题目传送门 sol:先通过AC自动机构建字典,用$dp[i]$表示长串前$i$位的最小代价,若有一个单词$s$是长串的前$i$项的后缀,那么可以用$dp[i - len(s)] + val(s)$转移 ...
- vue中的路由传参及跨组件传参
路由跳转 this.$router.push('/course'); this.$router.push({name: course}); this.$router.go(-1); this.$r ...
- 2019-2020-1 20199324《Linux内核原理与分析》第三周作业
第二章 操作系统是如何工作的 一.知识点总结 1.计算机的三个法宝 存储程序计算机 函数调用堆栈机制.堆栈:是C语言程序运行时必须使用的记录函数调用路径和参数存储的空间. 中断 2.堆栈相关的寄存器和 ...
- Uncaught TypeError: Cannot read property 'querySelector' of null
报错. 解决办法:把报错部分的js放到body后面
- PAT甲级——1033 To Fill or Not to Fill
1033 To Fill or Not to Fill With highways available, driving a car from Hangzhou to any other city i ...
- GPIO-FPGA架构
GPIO是一种软件运行期间能够动态配置和控制的通用引脚 有不同的GPIObank,每个GPIO口的bank都会有编号的区分, 每个GPIO口除了通用的输入输出功能以外,还有其他复用功能,例如GPIO5 ...
- [LC] 198. House Robber
You are a professional robber planning to rob houses along a street. Each house has a certain amount ...
- Jenkins+ant+jmeter搭建接口自动化测试环境
一.jmeter 1.下载jdk并安装配置 2.下载jmeter,并解包 下载地址:http://jmeter.apache.org/download_jmeter.cgi 二.ant 1.下载解包并 ...