从零开始:学习使用 Hugo 构建自己的静态网站

news2024/9/20 0:54:00

1、什么是 Hugo

1.1、简介

Hugo 是一个由 Go 语言编写的静态网站生成器。它可以帮助用户快速构建高性能的静态网站,特别是博客、文档和个人网站等。与其他静态网站生成器相比,Hugo 的特点是速度快、易于使用、可扩展性强等。Hugo 使用简单的 Markdown 和 HTML 等标记语言来创建内容,并使用 Go 语言的模板引擎来自定义主题和布局。Hugo 的优点还包括其跨平台性、低资源消耗和易于维护等。

由于其快速编译和生成速度,Hugo 成为了流行的静态网站生成器之一。

Hugo 官网

在这里插入图片描述

1.2、框架对比

框架静态/动态托管安全性访问速度在线编辑Markdown
hugo静态简单非常安全非常快不可以支持
hexo静态简单非常安全不可以支持
wordpress动态复杂需要经常升级可以插件支持

编程语言、安装和使用

框架编程语言seo支持插件主题页面生成速度安装和使用
hugoGo友好不支持非常快简单
hexoNodeJS友好很多非常多稍微复杂
wordpressPHP不友好支持非常多不支持复杂

2、安装 Hugo

2.1、MAC 环境

安装 Hugo 需要先安装 Homebrew,Homebrew 是 MacOS 上的包管理器,可以用来安装其他软件。

  • 步骤一:安装 Homebrew 可以通过在终端执行以下命令完成:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

这个命令会自动下载 Homebrew 并安装到系统中。在安装过程中,可能会提示输入管理员密码,需要输入当前系统用户的密码。安装完成后,可以通过在终端输入 brew -v 命令来验证是否安装成功,如果安装成功,会显示当前 Homebrew 的版本信息。

  • 步骤二:安装 Hugo 在终端执行以下命令完成:
# 查看 Homebrew 的版本
brew --version

# 安装 Hugo
brew install hugo

# 查看 Hugo 的版本
hugo version

3、第一个项目

3.1、创建工作空间

先创建一个新的文件夹,例如:csdn_hugo 用于存储我们学习过程中的 Hugo 项目,并通过终端访问此文件夹,示例如下:

# 切换到工作空间
cd /Users/woniu/Documents/csdn_hugo

3.2、创建 Hugo 项目

# 创建一个新的 Hugo 项目,项目名称:hugo_hello_world
hugo new site hugo_hello_world

3.3、开发工具

  • 第一步:我们这里使用 VS Code 编辑器做为 Hugo 的开发工具。

在这里插入图片描述

  • 第二步:选择我们刚才通过终端命令创建的 hugo_hello_world 项目文件夹,如下所示:

在这里插入图片描述

3.4、本地预览

# 启动本地项目
hugo server

# 浏览器输入 http://localhost:1313 访问地址

因为我们是一个新项目,会提示无页面,如下图所示:

在这里插入图片描述

4、安装主题

4.1、Hugo 官方主题

Hugo 官方主题

在这里插入图片描述

4.2、下载主题

我们从官方主题网站选择自己喜欢的主题点击到详情页面下载,这里随机举例下载,如下图:

在这里插入图片描述

点击下载按钮会跳转到 GitHub 网站,我们继续点击下载

在这里插入图片描述

4.3、安装主题

将下载的主题文件夹 hugo-theme-stack-master,复制到我们创建的hugo_hello_world 项目 themes 文件夹下,示例目录如下:

# 例如我的项目工作空间路径如下
cd /Users/woniu/Documents/csdn_hugo

# 项目名称如下
hugo_hello_world

# 最终将下载主题复制的完整路径如下
cd /Users/woniu/Documents/csdn_hugo/hugo_hello_world/themes

VS Code 项目结构,如下图所示

在这里插入图片描述

4.4、配置主题

我们在 VS Code 编辑器打开 config.toml ,文件内容如下:

baseURL = 'http://example.org/'
languageCode = 'en-us'
title = 'My New Hugo Site'

配置我们下载的主题,最终完整代码如下:

# 网站的基本地址
baseURL = 'http://example.org/'

# 指定站点的默认语言
languageCode = 'en-us'

# 网站的标题
title = 'CSDN 蜗牛 Hugo 教程网站'

# 网站所使用的主题
theme = "hugo-theme-stack-master"

4.5、本地预览

# 启动本地项目
hugo server

# 浏览器输入 http://localhost:1313 访问地址

效果好像不是很理想,如下图所示:

在这里插入图片描述

5、WebStack-Hugo

5.1、简介

一个基于 Hugo 的静态响应式网址导航主题

5.1.1 开源地址

GitHub

Gitee

5.1.2 演示地址

官网示例

生信网址导航

搜搜化州

5.1.3 特色功能

这是 Hugo 版 WebStack 主题。可以借助 Github Pages 或者 Coding 直接托管部署,无需服务器。

总体说一下特点:

  • 采用了一直以来最喜欢的 hugo 部署方式,方便高效。
  • 主要的配置信息都集成到了 config.toml,一键完成各种自定义的配置。
  • 导航的各个信息都集成在 data/webstack.yml 文件中,方便后续增删改动。

5.2 本地安装

5.2.1、创建项目

# 创建一个新的 Hugo 项目,项目名称:MyWebStack
hugo new site MyWebStack

并通过 VS Code 编辑器打开此项目

在这里插入图片描述

5.2.2、下载主题

浏览器访问 GitHub 开源地址,点击下载

在这里插入图片描述

5.2.3、安装主题

把下载的主题文件复制到 MyWebStack 项目 themes 文件下,并重命名:WebStack-Hugo,项目结构如下图所示:

在这里插入图片描述

5.2.4、配置主题

将 MyWebStack/themes/WebStack-Hugo/exampleSite/config.toml 的内容复制后,替换 MyWebStack/config.toml 的所有内容,具体操作可参考下图:

在这里插入图片描述

5.2.5、复制数据

将 /themes/WebStack-Hugo/exampleSite/data 文件夹下的所有文件复制到 MyWebStack/data 文件夹下,如下图所示:

在这里插入图片描述

5.2.6、本地预览

# 启动本地项目
hugo server

# 浏览器输入 http://localhost:1313 访问地址

5.2.7、项目截图

  • 图例1

在这里插入图片描述

  • 图例2

在这里插入图片描述

  • 图例3

在这里插入图片描述

本文教程到此结束,小伙伴们可以愉快的开启编程之旅。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/384319.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【项目】游戏-我在万科转生成了一只狗

文章目录学习unity一些基操..位置坐标系父子关系常用工具导入游戏模型资源商店创建地形为地形化妆--纹理绘制脚本组件脚本的生命周期脚本执行顺序标签和图层的作用向量的运算和意义欧拉角和四元数-常用C#预制体-类与对象Debug的使用C#物体属性使用游戏时间使用-C#计时器的设置路…

无需手动编码的XGBoost中的分类特征

无需手动编码的XGBoost中的分类特征 XGBoost 是一种基于梯度提升的基于决策树的集成机器学习算法。 然而,直到最近,它还没有原生支持分类数据。 在将分类特征用于训练或推理之前,必须对其进行手动编码。 在序数类别的情况下,例如…

视觉SLAM十四讲ch4 李群和李代数笔记

视觉SLAM十四讲ch4 李群和李代数视觉SLAM十四讲ch4 李群和李代数李群和李代数基础指数映射与对数映射李代数求导与扰动模型视觉SLAM十四讲ch4 李群和李代数 李群和李代数基础 可以将SO3看成旋转矩阵集合,SE3看成变换矩阵集合 李代数是6个自由度的向量空间…

qsort函数的应用以及模拟实现

前言 🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻推荐专栏: 🍔🍟🌯 c语言进阶 🔑个人信条: 🌵知行合一 🍉本篇简介:>:介绍库函数qsort函数的模拟实现和应用 金句分享: ✨追…

Docker之部署Mysql

通过docker对Mysql进行部署。 如果没有部署过docker,看我之前写的目录拉取镜像运行容器开放端口拉取镜像 前往dockerHub官网地址,搜索mysql。 找到要拉取的镜像版本,在tag下找到版本。 拉取mysql镜像,不指定版本数&#xff0c…

04 Android基础--RelativeLayout

04 Android基础--RelativeLayout什么是RelativeLayout?RelativeLayout的常见用法:什么是RelativeLayout? 相对布局(RelativeLayout)是一种根据父容器和兄弟控件作为参照来确定控件位置的布局方式。 根据父容器定位 在相…

JavaWeb--RequestResponse

Request&Response1 Request和Response的概述2 Request对象2.1 Request继承体系2.2 Request获取请求数据2.2.1 获取请求行数据2.2.2 获取请求头数据2.2.3 获取请求体数据2.2.4 小结2.2.5 获取请求参数的通用方式2.3 IDEA快速创建Servlet2.4 请求参数中文乱码问题2.4.1 POST请…

智能家居Homekit系列一智能通断开关

智能通断器,也叫开关模块,可以非常方便地接入家中原有开关、插座、灯具、电器的线路中,通过手机App或者语音即可控制电路通断,轻松实现原有家居设备的智能化改造。 随着智能家居概念的普及,越来越多的人想将自己的家改…

WebRTC系列分享 | WebRTC视频QoS全局技术栈

概述目前总结出WebRTC用于提升QoS的方法有:NACK、FEC、SVC、JitterBuffer、IDR Request、Pacer、Sender Side BWE、Probe、VFR(动态帧率调整策略)、AVSync(音视频同步)、动态分辨率调整。这几种方法在WebRTC架构分布如…

上海亚商投顾:沪指窄幅震荡 ChatGPT概念再度走高

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。市场情绪沪指今日窄幅震荡,创业板指低开低走,午后跌幅扩大至1%,宁德时代一度跌近4%。6G概…

【架构师】零基础到精通——微服务治理

博客昵称:架构师Cool 最喜欢的座右铭:一以贯之的努力,不得懈怠的人生。 作者简介:一名Coder,软件设计师/鸿蒙高级工程师认证,在备战高级架构师/系统分析师,欢迎关注小弟! 博主小留言…

【java基础】一篇文章彻底搞懂lambda表达式

文章目录lambda表达式是什么lambda表达式的语法函数式接口初次使用深入理解方法引用 :: 用法快速入门不同形式的::情况1 object::instanceMethod情况2 Class::instanceMethod情况3 Class::staticMethod对于 :: 的一些示例及其注意事项构造器引用变量作用域使用外部变量定义内部…

web自动化 基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

1、 开发环境 win7 64 PyCharm 4.0.5 setuptools-29.0.1.zip 下载地址:setuptools-29.0.1.zip_免费高速下载|百度网盘-分享无限制 官方下载地址:setuptools PyPI python 3.3.2 mysql-connector-python-2.1.4-py3.3-win64 下载地址:mysq…

企业 Active Directory 自助服务

您的企业是否正在寻找一个全面的 Active Directory 自助服务解决方案,使用户能够在没有帮助台帮助的情况下满足自己的 Active Directory 需求?ADSelfService Plus 了解您的安全问题,并提供基于审批的自助服务工作流功能,使管理员能…

内网vCenter部署教程一

PS:因为交换机链路为trunk,安装先登录ESXI,将端口组改为管理vlan ID(1021) 一、双击镜像,打开文件夹,目录为F:\vcsa-ui-installer\win32,双击installer.exe 二、先设置语言为中文 三…

机器学习笔记之狄利克雷过程(三)随机测度的生成过程(折棍子过程)

机器学习笔记之狄利克雷过程——随机测度的生成过程[折棍子过程]引言回顾:狄利克雷过程——定义随机测度的生成过程从随机测度的生成过程观察标签参数α\alphaα与随机测度离散程度之间的关系引言 上一节使用公式推导的方式介绍了狄利克雷过程中标量参数α\alphaα…

云服务器ECS 什么是云服务器ECS?

云服务器ECS(Elastic Compute Service)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。 云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共…

【线性DP】猴子与香蕉

可恶,就差一点就能独立写出这道题了!4548. 猴子和香蕉 - AcWing题库题意:思路:设计状态的时候一开始不知道怎么设,后来试了一下发现这样设很合理因此在设状态的时候很多时候都要试一试当时间或空间吃不消时&#xff0c…

django ModelForm外鍵問題

背景 django在使用ModelForm時如果存在外鍵字段,默認是ChoiceField讓你選擇外鍵關聯表有的值,但是如果關聯表的數據很多的話選擇就很難找到選項。所以想能不能換成輸入框TextInput。 舉個例子 models.py 這裏建了兩個表,把用戶表的name作…

ERP的实施节省了公司人力吗?

业界一直有句老话:“不上ERP等死,上了ERP找死”。 可把ERP的尴尬处境说透了。 有人把ERP奉为信仰:“那些说ERP不好用的根本是没用明白。” 有人则认为ERP只是卖概念,冷嘲:“实施ERP的企业,估计一半都倒闭…