简单使用 Hugo 博客

news2024/11/19 12:34:47

之前用过 hugo,本次来分享一波,确实简单好用,可以持续使用,尤其是喜欢 GO语言的同学

hugo

Hugo是一个用 Go语言 编写的静态网站生成器,可以快速地生成高效、安全和易于管理的静态网站。Hugo具有速度快、可定制性强、易于使用等特点,被广泛应用于个人博客、公司网站、文档站点等领域。

Hugo支持Markdown、HTML、CSS、JavaScript等标准文件格式并提供了多种主题、插件、模板等功能,使用户能够轻松地创建独特而具有吸引力的网站。同时,Hugo还支持多种语言和主流平台,满足不同用户的需求。

官网

安装快速指引

环境部署

  1. 下载 hugo_0.111.3_Linux-64bit.tar.gz
  2. 解压之后将可执行程序 hugo 放到 /usr/local/bin 下面
wget https://github.com/gohugoio/hugo/releases/download/v0.111.3/hugo_0.111.3_Linux-64bit.tar.gz
tar xvf hugo_0.111.3_Linux-64bit.tar.gz
cp hugo /usr/local/bin
hugo version

创建自己的 xxx.github.io

  1. 在 github 处创建仓库,命名为自己 github 的名字 + github.io

例如:qingconglaixueit.github.io

账户名.github.io

  1. 设置仓库公开,这样才能正常的访问到数据

创建站点

本次是使用 linux 的环境,可以在自己的任意目录下,创建自己的站点

hugo new site abing_blog

下载并应用主题

  1. 找到具体主题对应的 github 仓库,例如我下载的是 bootstrap4
  2. 下载仓库代码到 博客主目录下的 themes 下面
  • 例如当前已经在 abing_blog 下进行如下操作
# 例如当前已经在  abing_blog 下
cd themes
git clone git@github.com:alanorth/hugo-theme-bootstrap4-blog.git bootstrap4
cd ..
cp themes/bootstrap4/exampleSite/config.toml
cp themes/bootstrap4/content/post/* content/post/
  • 将 博客根目录下的 config.toml 中的 --baseUrl 修改成 自己的 博客地址,例如 https://qingconglaixueit.github.io/
vim config.toml

hugo --theme=bootstrap4 --baseUrl="https://qingconglaixueit.github.io/"'

  • 此时我们需要提交 public 目录下的内容到我们的 https://qingconglaixueit.github.io/ 仓库中
  • 初始化仓库 , 需要换成自己的 xxx.github.io
# 初始化仓库 , 如下需要换成自己的 xxx.github.io
git init

# 将所有内容添加到git
git add .

# 提交到git 本地
git commit -m "commit msg"

# 关联到远程git,注意这里需要写你自己的git 地址
git remote add origin https://github.com/qingconglaixueit/qingconglaixueit.github.io.git

# 推送到远程git
git push origin main

发布文章

  • 在博客根目录下执行
# 执行如下命令后,会在 博客 根目录下的 content/post 下生成具体的 md 文件,记得吧 md 中的 draft 设置为 false
hugo new post/xxx.md

# 编辑这个 md 成自己想要的内容

# 回到博客根目录下,渲染静态文件
hugo --theme=bootstrap4 --baseUrl="https://qingconglaixueit.github.io/"'

# 此时 到 public 目录下提交代码即可

可以查看地址:https://qingconglaixueit.github.io/ 看看效果

再细节一点的以及 hugo 详细命令等内容可以查看 hugo 中文文档 安装快速指引

自用的快捷方式分享

# 进入博客站点
alias inblog='cd /home/xmt/abing_blog/'

# 添加文章
alias addblog='_addblog(){ inblog; hugo new post/"$1";vim content/post/"$1";};_addblog'

# 渲染静态资源
alias hugoup='inblog; hugo --theme=bootstrap4 --baseUrl="https://qingconglaixueit.github.io/"'

# 提交 code
alias blogcmpush='inblog; cd public/ ;git add .;git commit -m "update article" ;git push ; cd ../ '

# 渲染并提交 code
alias hb='hugoup;blogcmpush'

感谢阅读,欢迎交流,点个赞,关注一波 再走吧

欢迎点赞,关注,收藏

朋友们,你的支持和鼓励,是我坚持分享,提高质量的动力

技术是开放的,我们的心态,更应是开放的。拥抱变化,向阳而生,努力向前行。

我是阿兵云原生,欢迎点赞关注收藏,下次见~
可以进入地址进行体验和学习:https://xxetb.xet.tech/s/3lucCI

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

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

相关文章

Linux引导故障排除:从问题到解决方案的详细指南

1 BIOS初始化 通电->对硬件检测->初始化硬件时钟 2 磁盘引导及其修复 2.1 磁盘引导故障 磁盘主引导记录(MBR)是在0磁道1扇区位置,446字节。 MBR作用:记录grub2引导文件的位置 2.2 修复 步骤:1、光盘进…

Javascript笔记:Web页面中的事件处理

1 任务队列 2事件处理:⼀个只有宏任务的示例 3 Web⻚⾯中的事件处理 3.1 定时器与事件处理:一个实例 4 Web⻚⾯中的事件处理 5 事件在DOM中的传播 5.1 两个阶段

C++ (Chapter 1)

C (一) 1.C的命名空间 先来看一个C语言的例子: 下面这段代码是可以正常运行的. #include<stdio.h> int rand 0; int main() {printf("%d \n", rand);return 0; }但是,包含了一个头文件之后,甚至无法通过编译. #include<stdio.h> #include<stdli…

尘封已久的功能!iPhone 15带来了一项早该使用的电池功能

了解如何在iPhone 15上检查电池周期&#xff0c;在设备使用寿命的某个阶段将非常有用。只要简单地看一眼完成的循环次数&#xff0c;你就可以确定你的电池有多健康&#xff0c;以及你是否需要很快更换它。 这是iPhone在过去一直缺失的东西。iPhone上有检查电池周期的数据&…

Altium Designer实用系列(三)----部分问题解决办法(连完所有的线之后还存在飞线,isolated copper...)

一、常见问题解决 1.1 连完所有的线之后还存在飞线 出现此问题可以尝试把该PCB先关闭&#xff0c;然后关闭Altium Designer软件。之后再打开Altium Designer&#xff0c;之后再进行DRC电气检查&#xff0c;可解决该问题。 1.2 isolated copper:split plane(xxx)on … 该问题…

计算机毕业设计选什么题目好?springboot智慧养老中心管理系统

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

C++入门篇1

文章目录 C入门篇11、命名空间1.1、命名空间定义1.2、命名空间的使用 2、输入&输出3、缺省参数3.1、缺省参数概念3.2、缺省参数分类 C入门篇1 1、命名空间 1.1、命名空间定义 命名空间是什么&#xff1f;是一种将相关功能和数据封装在一起的方式&#xff0c;以避免名称冲…

nginx如何安装 以及nginx的配置文件

Nginx 网站服务 是一个高性能 轻量级web服务软件&#xff0c; 高新能&#xff1a;对http并发连接的处理能很高&#xff0c;单台处理器可支持30000-50000个并发请求&#xff0c;&#xff08;一般设置在20000个左右&#xff09; 轻量级&#xff1a;nginx软件很小&#xff0c;安装…

c语言:通讯录管理系统(动态分配内存版)

前言&#xff1a;在大多数高校内&#xff0c;都是通过设计一个通讯录管理系统来作为c语言课程设计&#xff0c;通过一个具体的系统设计将我们学习过的结构体和函数等知识糅合起来&#xff0c;可以很好的锻炼学生的编程思维&#xff0c;本文旨在为通讯录管理系统的设计提供思路和…

GPU 基础知识整理

萌新&#xff1a; 在接触一款硬件时我会&#xff1a;基础硬件结构&#xff0c;线程结构&#xff0c;内存布局&#xff0c;数据吞吐量&#xff0c;等方面进行学习 首先GPU的特点: 并行性能&#xff1a;GPU 是专门设计用于并行计算的硬件&#xff0c;通常具有大量的处理单元&am…

Vue中的监视属性

一、监视属性的使用 &#xff08;一&#xff09;配置watch进行监视 当我们想要监视一个属性改变的时候就可以使用监视属性监视其变化并进行操作。 语法格式如下&#xff1a; watch:{ 监视属性名称 : { // 监视属性的配置项 } } 1. handler函数 当监视的属性发生变化时就调…

进程死锁的处理策略之预防死锁,避免死锁以及死锁的检测和解除

1.不允许死锁发生 1.静态策略&#xff1a;预防死锁 知识回顾:死锁的产生必须满足四个必要条件&#xff0c;只要其中一个或者几个条件不满足&#xff0c;死锁就不会发生。 1.破环互斥条件 互斥条件: 只有对必须互斥使用的资源的争抢才会导致死锁。 如果把只能互斥使用的资源…

数据结构和算法(12):词典

词典 逻辑上的词典&#xff0c;是由一组数据构成的集合&#xff0c;其中各元素都是由关键码和数据项合成的词条&#xff08;entry&#xff09;。 映射&#xff08;map&#xff09;结构与词典结构一样&#xff0c;也是词条的集合。 二者的差别仅仅在于&#xff0c;映射要求不同…

cpp文件操作

文件操作 数据流 在cpp中&#xff0c;流&#xff08;stream&#xff09;是一个抽象概念&#xff0c;用于描述如何从一个位置到又一个位置传输数据。流主要用于I/O操作。 数据流包括两大类&#xff1a;1. 输入流(istream)&#xff1a;数据从某个源流入程序, 2. 输出流(ostrea…

CCF CSP认证历年题目自练Day28

题目一 试题编号&#xff1a; 202109-1 试题名称&#xff1a; 数组推导 时间限制&#xff1a; 1.0s 内存限制&#xff1a; 512.0MB 样例1输入 6 0 0 5 5 10 10 样例1输出 30 15 样例2输入 7 10 20 30 40 50 60 75 样例2输出 285 285 题目分析&#xff08;个人理解&#…

yml显示不了小树叶图标解决办法

问题描述 在项目中&#xff0c;idea新建yml文件不显示小绿叶图标 1、解决办法一 找到下图设置&#xff1a;file -> settings -> Plugins 查看spring boot插件是非已安装&#xff08;按照下图步骤查看&#xff09; 2、解决办法二 ctrlalts&#xff0c;去File Types查…

记一次使用vue-markdown在vue中解析markdown格式文件,并自动生成目录大纲

先上效果图 如图所示&#xff0c;在网页中&#xff0c;能直接解析markdown文档&#xff0c;并且生成目录大纲&#xff0c;也支持点击目录标题跳转到对应栏目中&#xff0c;下面就来讲讲是如何实现此功能的。 1、下载vue-markdown yarn add vue-markdown 2、在页面中渲染markdo…

MySQL数据生成工具mysql_random_data_load

在看MySQL文章的时候偶然发现生成数据的工具&#xff0c;此处直接将软件作者的文档贴了过来&#xff0c;说明了使用方式及下载地址 Random data generator for MySQL Many times in my job I need to generate random data for a specific table in order to reproduce an is…

2023.10 秋爽版 java 软件授权激活 架构 java代码混淆 按日期授权 不联网

什么是代码混淆&#xff1f; 代码混淆是一种技术&#xff0c;用于在不改变代码功能的情况下&#xff0c;通过改变代码的结构和逻辑&#xff0c;使之变得更难理解和分析&#xff0c;从而增加反向工程的难度。 为什么要进行代码混淆&#xff1f; 在Java应用程序中&#xff0c;…

MyBatisPlus(十七)通用枚举

说明 MyBatisPlus 优雅地使用枚举类型。 声明通用枚举属性 使用 EnumValue 注解枚举属性 package com.example.web.enumeration;import com.baomidou.mybatisplus.annotation.EnumValue; import com.fasterxml.jackson.annotation.JsonValue; import lombok.AllArgsConstru…