Hugo 是一个用Go语言编写的静态网站生成器。类似的静态网站生成器还有Jekyll、hexo等等。

Hugo官方主页:https://gohugo.io/

1.安装homebrew: https://brew.sh/index_zh-cn

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

将以上命令粘贴至终端。

2. 安装hugo并查看hugo版本

brew install hugo
hugo version

3.创建hugo项目

hugo new site myblog

创建的站点文件目录说明:

archetypes :存放default.md,头文件格式
content :content目录存放博客文章(.markdown/.md文件)
data :存放自定义模版,导入的toml文件(或json,yaml)
layouts :layouts目录存放的是网站的模板文件
static :static目录存放js/css/img等静态资源
config.toml :config.toml是网站的配置文件
当前网站是没有任何内容的,需要下载个主题跑起来才有内容

4.安装主题

Hugo官方主题:https://themes.gohugo.io/

将下载的主题文件夹XXX,存放的路径为:\myblog\themes\XXX,包含以下文件:

archetypes :存放default.md,头文件格式
layouts :主题模板文件
static :静态资源
theme.toml :主题配置文件

config.toml在文本编辑器中打开:

baseURL = "https://example.org/"
languageCode = "en-us"
title = "My New Hugo Site"
theme = "XXX"

将title上面的内容替换为更私人的内容。另外,如果您已经准备好域,请设置baseURL。请注意,运行本地开发服务器时不需要此值。

5.本地预览命令

hugo server

浏览器里输入:http://localhost:1313 访问网站。

6.发表文章命令

使用 hugo new 命令创建文章

hugo new posts/test.md

可以用文本文件或markdown编辑器打开文件 posts/test.md ,并增加点内容。

+++
date = "2018-03-18T15:01:33+08:00"
title = "test"
draft = false +++ Hello Hugo!测试内容

注意:默认创建的是草稿类型,需要将draft值改为false才能看到页面。

7.生成静态网站,即生成public文件夹,baseUrl填部署的仓库地址,这里用的github部署。

hugo --theme=XXX --baseUrl="https://xxxx"

所有静态页面都会生成到 public 目录下,生成静态网站后并push到你的GitHub Pages上,就能得到一个在线的个人博客了。

切换到public文件夹,并push到远程仓库。

cd public
git init
git remote add origin https://github.com/xxxx/xxx.git(从仓库的clone那里复制)
git add -A
git commit -m "first commit"
git push -u origin master

之后的更新就只需要后面三句命令就可以了。

macOS搭建Hugo的更多相关文章

  1. MacOS搭建本地服务器

    MacOS搭建本地服务器 一,需求分析 1.1,开发app(ios android)时通常需往app中切入web页面,直接导入不行,故需搭建本地的测试网站服务,通过IP嵌入访问页面. 1.2,开发小程 ...

  2. Ubuntu搭建hugo博客

    自己搭建了一个博客用hugo,后因自己搭建的博客上传文章,搞一些东西不方便,就创建了现在这个博客,不过还是把如何搭建hugo的过程记录以下. Ubuntu下的操作 1. 下载Git 打开终端 Ctrl ...

  3. macOS搭建开发环境

    1.包管理器Homebrew使用下面的命令安装: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/insta ...

  4. 搭建一个舒适的 .NET Core 开发环境

    最近,一直在往.Net Core上迁移,随着工作的深入,发现.Net Core比.Net Framework好玩多了.不过目前还在windows下开发,虽然VisualStudio是宇宙第一神器,但是 ...

  5. 用hugo建博客的记录 · 老张不服老

    前后累计折腾近6个小时,总算把搭建hugo静态博客的整个过程搞清楚了.为什么用了这么久?主要还是想偷懒,不喜欢读英文说明.那就用中文记录一下过程吧.还是中文顺眼啊. 某日发现自己有展示些东西给外网的需 ...

  6. NET Core 开发环境

    NET Core 开发环境 最近,一直在往.Net Core上迁移,随着工作的深入,发现.Net Core比.Net Framework好玩多了.不过目前还在windows下开发,虽然VisualSt ...

  7. K8s 开始

    Kubernetes 是用于自动部署,扩展和管理容器化应用程序的开源系统.本文将介绍如何快速开始 K8s 的使用. 了解 K8s Kubernetes / Overview 搭建 K8s 本地开发测试 ...

  8. 如何用hugo 搭建博客

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

  9. 在macOS Sierra 10.12搭建PHP开发环境

    macOS Sierra 11.12 已经帮我们预装了 Ruby.PHP(5.6).Perl.Python 等常用的脚本语言,以及 Apache HTTP 服务器.由于 nginx 既能作为 HTTP ...

随机推荐

  1. Git配置用户名、邮箱

    当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址. 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改. 否则,用户名会显示为unkno ...

  2. Java ——集合框架 list lambda set map 遍历方法 数据结构

    本节重点思维导图 集合框架 有序无序:元素放入的顺序与取出的顺序是否一致,一致即为有序,不一致即无序. List:允许重复.有序 ArrayList:长度可变的数组,遍历速度快 LinkedList: ...

  3. 【ABAP系列】SAP ABAP 从FTP服务器读取文件到本地

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 从FTP服务器 ...

  4. jQuery与JavaScript与ajax三者的区别与联系(转)

    原文链接:  https://blog.csdn.net/qq_43154385/article/details/85003484 通过阅读,对于三者关系有一个比较清晰的认知,对于后期深入学习大有裨益 ...

  5. Git入门资料

    1.廖雪峰老师Git教程 地址:https://www.liaoxuefeng.com/wiki/896043488029600 2.Eclipse eGit连接GitHub教程 地址:https:/ ...

  6. 使用redis+flask维护动态代理池

    在进行网络爬虫时,会经常有封ip的现象.可以使用代理池来进行代理ip的处理. 代理池的要求:多站抓取,异步检测.定时筛选,持续更新.提供接口,易于提取. 代理池架构:获取器,过滤器,代理队列,定时检测 ...

  7. Python和Js打印心形

    看到一行Python写的代码,会用LovePython输出心形: print('\n'.join([''.join([('LovePython'[(x-y)%10]if((x*0.05)**2+(y* ...

  8. kotlin学习(8)泛型

    泛型的声明 与Java不同的是,Kotlin要求类型实参要么被显示的说明,要么能被编译器推导出来.因为Java在1.5版本才引入泛型,所以为了兼容过去的版本,可以不直接声明List类型的变量,而不说明 ...

  9. vue.js table组件封装

    table组件 和 分页组件来自iview,在这里我根据公司业务再次做了一次封装,使用slot进行内容分发,可以随意放置input输入框和button按钮 ,再使用props向子组件传递参数,使用em ...

  10. Python 中的Lock与RLock

    摘要 由于多线程共享进程的资源和地址空间,因此,在对这些公共资源进行操作时,为了防止这些公共资源出现异常的结果,必须考虑线程的同步和互斥问题. 为什么加锁:1.用于非线程安全, 2.控制一段代码,确保 ...