Hugo博客教程(一)

news2024/11/20 11:50:58

秋风阁——北溪入江流:https://focus-wind.com/
秋风阁——计算机视觉实验:边缘提取与特征检测

文章目录

  • Hugo博客教程(一)
    • 博客
      • 静态博客
        • 静态博客的优缺点
        • 常见的静态博客
          • Hexo
          • Hugo
      • 动态博客
        • 动态博客的优缺点
        • 常见的动态博客
          • WordPress
          • Typecho
      • 为什么选择静态博客
    • Hugo的安装与配置
      • Windows系统的安装与配置
        • Windows环境变量配置
      • Linux系统的安装与配置
        • Linux环境变量配置
      • 安装检查

Hugo博客教程(一)

博客

静态博客

静态博客是指利用生成工具(如:Hugo、Hexo)等将博文编译成静态文件的一种博客系统。博主只需要将生成文件部署在静态服务器上即可被互联网访问,在访问时,直接获取静态资源,不需要向数据库中请求博文、图片等信息。

静态博客的优缺点

优点

  1. 速度快:用户在访问博客时,只需要获取静态资源,不需要向服务器查询博文、图片等信息。

  2. 部署方便、成本低:市面上有许多免费开源的托管程序,不需要承担高昂的服务器费用。

  3. 维护方便:服务器维护成本低。

  4. 迁移方便:无数据库系统,迁移时,不需要专门进行数据库迁移操作,只需保存原始博文即可。

  5. 安全:无需担心数据库注入、跨站攻击等网络安全问题。

缺点

  1. 不支持原生注册登录、原生评论,需要使用第三方评论工具。第三方评论工具的安全性和速度质疑。

  2. 入门难度大,不易上手。静态博客的内容管理和操作都有一定的难度,需要一定的编程基础。

常见的静态博客

Hexo

基于Node.js的静态网站生成器,近几年(截止到2023年)的发展不如以前那么好,主题多,教程多,官方文档丰富,可以很快的搭建出漂亮的博客页面。由于其基于Node.js的特点,当博客数量增多时,渲染时间长。
所以Hexo适用于博客数量少,更新周期长的博主。

Hugo

Hugo是一个基于Go语言开发的静态网站生成器,Hugo的突出特点是简洁、灵活、高效。近几年(截止到2023年)发展迅速,越来越多的网站开始使用Hugo搭建。相比于Hexo,其渲染速度快,配置简单。但是其主题相比于Hexo较少。
Hugo适合于博客数量多,更新周期短的博主。

动态博客

动态博客是指当服务器收到访问请求时,会结合数据库,调用相应的程序,动态生成需要传回的页面文件。动态博客相比于静态博客最大的区别在于其需要数据库的参与。

动态博客的优缺点

优点

  1. 网页动态生成,对于不同用户,不同时间的访问展现不同的页面内容。

  2. 功能强大:动态博客相比于静态博客的功能更加强大。比如对数据库的支持、注册登录、访问量统计、原生评论的支持。

  3. 交互性强:因为其支持原生评论和访问量统计的特点,相比于静态博客具有更好的交互性。

缺点

  1. 浪费系统资源:因为其与数据库交互的,所以相比于静态博客更消耗系统资源,浏览速度慢。

  2. 易遭受攻击:因为动态博客需要支持数据库,还有后端代码,所以更易受到数据库注入和跨站攻击等威胁。

  3. 维护迁移困难:相比于静态博客只需要保存静态资源,动态博客的迁移不仅需要重新部署博客,还需要迁移数据库,修改配置等操作,在迁移中容易出现操作失误导致迁移失败重新迁移。

  4. 成本高:需要独立的服务器部署博客网站。

常见的动态博客

WordPress

全球最著名的博客网站,并逐步演化为内容管理系统软件。拥有世界上最强大的插件和模板。功能强大、扩展性强。缺点是插件和模板对于国内的支持不好,国内访问速度缓慢。

Typecho

国内开源的一个动态博客平台,相比于WordPress更加轻巧、快速。原生默认采用MarkDown编辑器,相比于WordPress的编辑器更加高效。

为什么选择静态博客

静态博客和动态博客相比各有优劣,但是相比较而言,搭建个人博客,最方便、成本最低、体验最好的就是静态博客。相比于动态博客需要的服务器部署,目前有很多平台支持免费的静态博客部署,成本更低,有需要的只需要买一个域名即可支持每年搭建个人博客所需要的金钱耗费。随着个人博客的发展,静态博客也是目前的趋势所在。
当然动态博客也有自己的优势,动态博客的功能性、互操性更强,而且动态博客需要部署在服务器上,有自己的一台服务器可以干很多事情,不仅是搭建个人博客,甚至可以搭建自己的云盘、图库、邮件系统、甚至是通过服务器来学习相关的Linux操作系统知识。
在众多静态博客中,Hugo不是最流行的,但却是未来的静态博客的趋势所在。相比于Hexo的需要安装Node.js,Hugo基于Go打包的二进制文件,只需要把文件下载下来并添加到环境变量中即可使用,且Hugo的渲染速度相比于Hexo更快,更适合有长期写博客人的需求。

Hugo的安装与配置

  • Hugo中文文档 (gohugo.org)

  • Hugo官方官网(gohugo.io)

  • Hugo安装包下载地址:Releases · gohugoio/hugo (github.com)

在下载Hugo安装包时,有Hugo和Hugo-extended两种可运行文件下载,其中Hugo仅支持JS,Hugo-extended是Hugo的扩展版本,在支持JS的基础上还支持TS,所以在下载时建议下载Hugo-extended版本的可执行文件。

Windows系统的安装与配置

在Hugo安装包下载地址:Releases · gohugoio/hugo (github.com)下载好Hugo.exe文件后,将Hugo.exe文件放在想要存放的位置即可,比如我这里放在D:\Blog\Hugo文件夹下面,此时在该文件夹下面打开cmd命令提示符即可运行Hugo的相关命令,运行命令Hugo命令实际上就是在调用Hugo.exe文件。

Windows环境变量配置

此电脑 – 属性 – 高级系统设置 – 高级 --环境变量 – Path
在Windows的系统环境变量配置中,添加存放Hugo.exe文件的文件夹,确定之后即可在其他任意地方运行Hugo命令而不是仅在安装位置运行。
Windows下Hugo环境变量配置

Linux系统的安装与配置

Hugo在Linux上的安装与配置和Windows类似。首先wget下载指定的Hugo压缩文件(tar.gz文件一般是Linux系统的压缩文件),以v0.110.0版本为例:

# 下载指定版本的Hugo文件
wget https://github.com/gohugoio/hugo/releases/download/v0.110.0/hugo_extended_0.110.0_linux-amd64.tar.gz
# 解压tar.gz压缩文件
tar -zxvf hugo_extended_0.110.0_linux-amd64.tar.gz

解压后,使用mv命令将可执行文件移动到想要存放的路径。

Linux环境变量配置

Linux修改本用户的环境变量一般需要修改用户目录下的bashrc文件即~/.bashrc文件,在文件中加入export PATH=$PATH:{PATH}即可,修改后的文件不会立即生效,需要使用source ~/.bashrc命令重新加载bashrc文件即可完成环境变量配置。

# 打开~/.bashrc文件
vim ~/.bashrc
# 在bashrc文件中加入环境变量配置
# 在修改bashrc文件时注意添加注释,避免之后找不到相关配置
# /home/user/blog/Hugo是我存放Hugo文件的目录,在配置时根据自己的情况按需修改
export PATH=$PATH:/home/user/blog/Hugo
# 保存修改,退出后在shell界面重新加载bashrc文件
source ~/.bashrc

安装检查

在配置好环境变量后,在cmd或者shell(尽量不要在可执行文件存放的位置中)中运行Hugo命令检查是否安装成功,一般而言使用version查看是否安装成功。
在cmd或shell中执行:

hugo version

成功示例:

hugo v0.110.0-e32a493b7826d02763c3b79623952e625402b168+extended windows/amd64 BuildDate=2023-01-17T12:16:09Z VendorInfo=gohugoio

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

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

相关文章

sql进阶教程

sql进阶教程第一章、神奇的sql1.1 CASE 表达式将已有编号方式转换为新的方式并统计用一条 SQL 语句进行不同条件的统计用 CHECK 约束定义多个列的条件关系在 UPDATE 语句里进行条件分支表之间的数据匹配在 CASE 表达式中使用聚合函数本节要点1.2 自连接的用法面向集合语言SQL可…

shiro(二):springboot整合shiro

1. 整合思路 2. 加入jsp相关配置方便测试 2.1 加入依赖&#xff1a; <!--引入JSP解析依赖--> <dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId></dependency> <dependenc…

Golang——包

1、GOPATH 项目代码肯定要需要保存在一个目录中&#xff0c;但是如果目录不统一&#xff0c;每个人有一套自己的目录结构&#xff0c;读取配置文件的位置不统一&#xff0c;输出的二进制运行文件也不统一&#xff0c;这样会导致开发的标准不统一。 所以&#xff0c;产生环境变量…

QEMU安装Windows 11的完整过程

零、环境介绍 宿主机&#xff1a; Ubuntu 22.04.1 LTS Windows 11镜像&#xff1a; Win11_Chinese(Simplified)_x64v1 QEMU版本&#xff1a; qemu-img version 7.1.0 Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers 一、安装过程 1. 创建…

随机过程与排队论(二)

随机试验 如果一个试验E满足下列条件&#xff0c;就称此试验为随机试验&#xff1a; 在相同条件下可以重复进行。每次试验的结果不止一个&#xff0c;并且能事先明确知道试验的所有结果。一次试验结束之前&#xff0c;不能确定哪一个结果会出现。 样本空间、随机事件体 随机…

估值85亿美元!智驾前装赛道又添新“巨头”,已开始量产交付

随着智能汽车技术与供应链的发展&#xff0c;可以看到很多高端汽车也逐渐开始采用过去在L4上才使用的传感器&#xff0c;例如激光雷达。同时&#xff0c;多传感器融合技术也已进入规模化量产阶段&#xff0c;为L2在乘用车上的大规模应用打开了一个新窗口。 而作为L4领域的资深…

Leetcode力扣秋招刷题路-0124

从0开始的秋招刷题路&#xff0c;记录下所刷每道题的题解&#xff0c;帮助自己回顾总结 124. 二叉树中的最大路径和&#xff08;Hard&#xff09; 路径 被定义为一条从树中任意节点出发&#xff0c;沿父节点-子节点连接&#xff0c;达到任意节点的序列。同一个节点在一条路径序…

智能驾驶 车牌检测和识别(五)《C++实现车牌检测和识别(可实时车牌识别)》

智能驾驶 车牌检测和识别&#xff08;五&#xff09;《C实现车牌检测和识别&#xff08;可实时车牌识别&#xff09;》 目录 智能驾驶 车牌检测和识别&#xff08;五&#xff09;《C实现车牌检测和识别&#xff08;可实时车牌识别&#xff09;》 1. 前言 2. 车牌检测模型&a…

栈与队列——滑动窗口最大值

力扣题目链接 239. 滑动窗口最大值 给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1&#xff1a; 输入&#xff1a…

CATIA等设计类软件实时渲染流化解决方案

CATIA软件在汽车、航空航天、船舶制造、厂房设计(尤其是钢构厂房)、建筑、通用机械制造等领域&#xff0c;提供3D设计和模拟解决方案。可以帮助企业在产品研发领域缩短开发周期&#xff0c;因此使用非常广泛。但随着技术和设备的发展&#xff0c;CATIA模型不仅仅需要在电脑上进…

活体识别5:论文笔记之FeatherNets

说明 这篇文章是这次比赛的第三名&#xff1a;ChaLearn Face Anti-spoofing Attack Detection ChallengeCVPR2019&#xff0c;此次比赛项目是人脸防欺诈攻击检测。 论文标题&#xff1a;《FeatherNets: Convolutional Neural Networks as Light as Feather for Face Anti-spo…

中科蓝讯读取CSV文件中地址来指定地址段烧录

优势&#xff1a;可不需要通过小牛测控来写码&#xff0c;在烧录的时候直接进行读取文件来写码&#xff0c;可节省小牛测控写码并复位耳机的时间 功能&#xff1a;通过读取外置的 excel 表格里面的配置项&#xff0c;实现对 setting 文件里面的特定配置项的值 进行设置&#…

详解 k8s 中的 RBAC

Kubernetes 主要通过 API Server 对外提供服务&#xff0c;对于这样的系统来说&#xff0c;如果不加以安全限制&#xff0c;那么可能导致请求被滥用&#xff0c;甚至导致整个集群崩塌。 Kubernetes 中提供了良好的多租户认证管理机制&#xff0c;RBAC正式其中重要的一个&#…

Linux驱动开发基础__异步通知

目录 1 适用场景 2 使用流程 3 驱动编程 4 应用编程 5 代码 5.1 gpio_key_drv.c 5.2 button_test.c 5.3 Makefile 6 异步通知机制内核代码详解 1 适用场景 在前面引入中断时&#xff0c;我们曾经举过一个例子&#xff1a; 妈妈怎么知道卧室里小孩醒了&#xff1f; 异…

【深度学习】U-Net和FCN具体分析

FCN 相比于普通分类网络而言:FCN把后面几个全连接都换成卷积,这样就可以获得一张2维的feature map,后接softmax获得每个像素点的分类信息,从而解决了像素级分割问题。 整个FCN网络基本原理如图5**(只是原理示意图)**: image经过多个conv和+一个max pooling变为pool1 f…

SpringCloud_Alibaba Sentinel实现熔断与限流

目录一、Sentinel介绍1.官网2.是什么3.能干嘛4.去哪下5.怎么玩二、安装Sentinel控制台1.sentinel组件由2部分组成2.安装步骤三、初始化演示工程1.启动Nacos8848成功2.案例3.启动Sentinel80804.启动微服务84015.启动8401微服务后查看sentienl控制台四、流控规则1.基本介绍2.流控…

计算机网络 | 网络层知识点期末汇总【还不赶紧收藏】

看不完就慢慢看&#xff0c;扎实掌握&#x1f44a;一、网络层的几个重要概念1、互联网设计思路2、虚电路与数据报服务3、网络层的两个层面二、网际协议 IP1、配套协议2、互连虚拟网络3、IP地址&#xff08;1&#xff09;IP 地址及其表示方法&#xff08;2&#xff09;分类的 IP…

基于 PyTorch 的目标检测和跟踪(无敌版)

一个不知名大学生&#xff0c;江湖人称菜狗 original author: jacky Li Email : 3435673055qq.com Time of completion&#xff1a;2023.2.1 Last edited: 2023.2.1 目录 图像中的目标检测 视频中的目标跟踪 作者有言 在文章《基于 PyTorch 的图像分类器》中&#xff0c;介绍…

网卡ID简要说明

一、概述 网卡ID标识着网卡的具体类型&#xff0c;由五个ID共同确认。根据这五个ID可以在公示网站查到具体的网卡型号。 1. Class id (1) 区分不同的PCI(外设)设备 (2) 网卡类型是&#xff1a;0200 (3) 查询网址&#xff1a;http://pci-ids.ucw.cz/read/PD 2. Vendor id: …

15_open_basedir绕过

open_basedir绕过 一、了解open_basedir 1. 搭建环境 在test目录下存在一个open_basedir.php的文件 里面的php代码就是简单的文件包含或者ssrf,利用的是file_get_contents函数 open_basedir也就是在这种文件包含或者ssrf访问其它文件的时候生效 然后在www目录下再新建一个t…