使用Hugo、Github Pages搭建自己的博客

文章目录

    • 搭建博客框架及对比
    • 使用Hugo搭建博客
    • 使用Github Pages部署博客

搭建博客框架及对比

在众多的博客框架中,Hugo、Jekyll和Hexo因其出色的性能和易用性而备受推崇。

特点HugoJekyllHexo
速度极高中等较高
易用性中等高(熟悉JavaScript者)
社区中等活跃
语言GoRubyNode.js
部署简单简单(与GitHub Pages集成)简单
插件/主题丰富非常丰富丰富

Hugo:

  • 速度:极快的生成速度,适合需要频繁更新内容的用户。
  • 易用性:简洁的界面和Markdown支持,降低了学习成本。
  • 社区:虽不如Jekyll庞大,但足够应对常见问题。

Jekyll:

  • 速度:中等速度,适合定期更新内容的用户。
  • 易用性:Ruby语言基础,需要一定的学习曲线。
  • 社区:庞大的社区支持,丰富的插件生态。

Hexo:

  • 速度:较快的生成速度,满足大部分用户需求。
  • 易用性:Node.js环境,适合熟悉JavaScript的用户。
  • 社区:活跃的社区,不断更新的插件和主题。

使用Hugo搭建博客

这里选择了Hugo作为我的博客框架。它的极速和简约风格符合我的需求,让我能够专注于内容的创作。
同时,Hugo的可定制性也让我能够打造出独特的个人博客。虽然Jekyll和Hexo也有各自的优点,但Hugo更符合我的个人喜好和博客目标。

Hugo是一个使用Go语言编写的快速、简单和灵活的静态网站生成器。
它使用起来非常简单,相对于Jekyll复杂的安装设置来说,Hugo仅需要一个二进制文件hugo(hugo.exe)即可轻松用于本地调试和生成静态页面。
Hugo可以将你写好的MarkDown格式的文章自动转换为静态的网页。
除此之外,Hugo内置web服务器,可以在修改MarkDown文章之后切换到浏览器,页面会检测到更新并且自动刷新,呈现出最终效果,能极大的提高博客书写效率。

要开始使用Hugo,你需要先安装它。
可以访问Hugo的官方网站下载对应操作系统的版本,并按照指南进行安装。
安装完成后,你就可以创建你的第一个博客了。

Hugo的安装方式有两种,一种是直接下载编译好的Hugo二进制文件。另一种方式是获取Hugo的源码,自己编译。
如果只是使用Hugo推荐第一种方式,下载地址。

如果Hugo官网,英文阅读起来有困难,可以参考:

  • hugo中文帮助文档: https://hugo.aiaide.com
  • hugo中文文档: https://www.gohugo.org

安装好Hugo之后,就可以根据自己的喜好选择一个主题。可以访问Hugo Themes浏览各种主题。
每个主题下都有详细说明和示例,帮助你快速上手,这里以我的博客所选择的 主题zozo为例。

  1. 进入 hugo 的站点目录运行下面的命令 git clone https://github.com/varkai/hugo-theme-zozo themes/zozo
  2. 进行博客配置,config.toml是网站的配置文件,主题提供了一个示例配置文件config.toml。配置文件中对大部分配置都有详细的注释说明,复制该文件到站点目录下,根据自己的情况修改即可。
  3. 在命令行窗口,使用命令hugo server运行博客,在浏览器地址栏输入 localhost:1313 来访问站点;

使用Github Pages部署博客

最初希望能将自己学习的知识记录下来,梳理自己的思想,于是开始搭建博客。
发布过一些其他博客网站,但是都用着不太舒服,最后选择了自己搭建,开始是自己买服务器,用halo搭建,随着时间的推移,当时囊中羞涩没有再续费,最后找到一个解决办法使用GitHub Page搭建。
直接把网站托管到GitHub Page上,这样,一个免费、无限流量的博客系统就搭建完成了。同时,通过github你可以方便对博客文章进行管理和追踪。

如果在本地已经构建起来博客,就可以向GitHub推送,推送完成之后就可以通过username.github.io就可以访问得到你的博客了,这就完成了博客的部署。

需要注意的是,Github Pages需要在跟路径下创建一个docs文件夹,这个文件夹就是你的网站页面,我的是这样,docs里面保证根目录有一个index.html文件即可。
请添加图片描述

一般我都是在本地通过hugo -d .\docs\命令生成静态页面到docs文件夹下,然后将docs文件夹推送到github。

一些博客其他功能参考链接:

  • hugo给文章添加目录: https://www.ariesme.com/posts/2019/add_toc_for_hugo
  • 使用hugo搭建个人博客站点: https://blog.coderzh.com/2015/08/29/hugo
  • 不蒜子计数统计: https://busuanzi.ibruce.info
  • 暗黑主题: https://darkmodejs.learn.uno

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何应对孩子情绪化地发脾气?

你有小孩儿吗?是否受孩子发脾气的困扰?如果都没有,可以跳出去看看别人的文章了,如果有,可以继续往下看。 白牙有个小闺女,3 岁半,今天她看大人洗脚,她也想洗,但没来得及给…

【微信小程序——开发DAY5(黑马程序员课程)】

微信小程序——开发DAY5(黑马程序员课程) 使用npm包注意:先安装node.js安装Vant组件库使用Vant组件库定制全局主题样式API Promise化 全局数据共享(又叫做:状态管理)1.安装Mobx相关的包2.删除miniprogram.n…

音质更细腻,时尚与舒适兼备,唐麦M5耳机体验

在音乐的世界里,一款好的耳机就像是一位懂你的老朋友,它能够准确传达音乐的情感,让你沉浸在每一个音符中。所以无论是在通勤的路上,还是在健身的过程中,一款优质的蓝牙耳机总能为我们带来更加丰富的听觉体验。最近我最…

数据类型知识

1,介绍 根据数据所占的空间不同,把数据分为不同的数据类型 js的变量数据类型是在程序运行中,靠等号右边数值的值来判断的 js动态变量,里面的数据类型是可以变化的 2.数据类型 1.简单数据类型 程序里面,数字前面有…

每日OJ题_BFS解决最短路③_力扣127. 单词接龙

目录 ③力扣127. 单词接龙 解析代码 ③力扣127. 单词接龙 127. 单词接龙 难度 困难 字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列 beginWord -> s1 -> s2 -> ... -> sk: 每一对相邻的单词只差一个字母。…

GPT人工智能在线网页版大全

平民不参与内测,还能使用 ChatGPT 吗? 自去年 ChatGPT 爆红以来,关于它的消息铺天盖地。如果你真的想使用它,途径有很多。除了官方网站外国内还有许多 ChatGPT 的镜像网站,其中不乏免费的 3.5 版本。虽然有些网站需要…

Spring Task 定时任务调度

一、概念 Spring Task 是 Spring 框架的一个组件,它为任务调度提供了支持,使得开发者能够创建后台任务或定期执行的任务。通过 Spring Task,您可以方便地在 Java 应用程序中实现定时任务,比如每天凌晨进行数据同步、每小时执行一…

EasyRecovery数据恢复软件2024免费版下载亲测可用(支持win7,win10)

EasyRecovery数据恢复软件是由全球著名的数据恢复公司Ontrack出品的一款专业级数据文件恢复工具。它支持恢复多种存储介质上的数据,包括硬盘、光盘、U盘/移动硬盘、数码相机以及Raid文件恢复等,能恢复的文件类型也相当丰富,包括文档、表格、图…

基于Springboot+Vue的Java项目-校园周边美食探索及分享平台系统开发实战(附演示视频+源码+LW)

大家好!我是程序员一帆,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &am…

项目:仿muduo库One-Thread-One-Loop式并发服务器

文章目录 写在前面开源仓库和项目上线其他文档说明 项目背景HTTP服务器Reactor模型Reactor模型的分类 项目介绍模式设计模块划分Server模块 模块分析 补充知识Linux提供的定时器时间轮的思想通用类型any类型 Server模块Buffer模块Socket模块Channel模块Poller模块EventLoop模块…

项目——boost搜索引擎

今天我们来写一个boost搜索引擎! (后续如果有更新,这个博客也会更新) gitee连接:boost搜索引擎: boost搜索引擎 首先我们要介绍一下我们这个项目,我们项目的目的是通过我们的搜索引擎能够通过关键字查找到对应的网页…

Open3D (C++) 点云投影至主成分空间

目录 一、算法原理二、代码实现三、结果展示四、相关连接Open3D (C++) 点云投影至主成分空间由CSDN点云侠原创,爬虫自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法原理 p r o j

【数据结构】树与二叉树、树与森林部分习题与算法设计例题

目录 【数据结构】树与二叉树部分习题与算法设计例题一、单选题二、算法设计题判断二叉树是否为完全二叉树求二叉树的最小深度 以及 二叉树树高 树与二叉树知识点文章: 【数据结构】树与二叉树(递归法先序、中序、后序、层次遍历二叉树、二叉树的建立以及求树高的方…

【MySQL数据库 | 第二十四篇】Limit语句的性能问题和调优策略

前言: MySQL作为最流行的关系型数据库管理系统之一,被广泛应用于各种规模和类型的应用程序中。其强大的功能和灵活的查询语言使得开发人员能够高效地执行各种数据操作和分析。 然而,在处理大量数据或复杂查询时,一些开发人员可能…

研究生,该学单片机还是plc。?

PLC门槛相对较低,但是在深入学习和应用时,仍然有很高的技术要求。我这里有一套单片机入门教程,不仅包含了详细的视频 讲解,项目实战。如果你渴望学习单片机,不妨点个关注,给个评论222,私信22&am…

仿真服务器介绍及应用

仿真服务器是一种高性能的计算设备,专门用于运行复杂的仿真软件和处理大量的计算任务。 仿真服务器通常具备以下特点: 1. 高性能硬件配置:为了满足仿真软件对计算能力的要求,仿真服务器通常配备高性能的CPU、大量的内存以及高速的…

Zookeeper与Kafka消息队列

目录 一、Zookeeper 1、zookeeper简介 2、zookeeper的特点 3、zookeeper的工作模式跟工作机制 3.1 工作模式: 3.2工作机制:​编辑 4、zookeeper应用场景及选举机制 4.1 应用场景: 4.2 选举机制: 4.2.1第一次启动选举机制…

[阅读笔记1][GPT-3]Language Models are Few-Shot Learners

首先讲一下GPT3这篇论文,文章标题是语言模型是小样本学习者,openai于2020年发表的。 这篇是在GPT2的基础上写的,由于GPT2还存在一些局限,这篇对之前的GPT2进行了一些完善。GPT2提出了多任务学习,也就是可以零样本地用在…

ABAP MESSAGE 常用的类型

类型文本描述A终止处理终止,用户必须重启事务X退出与消息类型A 类似,但带有程序崩溃 MESSAGE_TYPE_XE错误处理受到干扰,用户必须修正输入条目,左下角提示!W警告处理受到干扰,用户可以修正输入条目,左下角提示!I信息处理受到干扰&a…

数字的字面表示:正负数、进位制、数学浮点数与科学计数法

示例&#xff1a; /*** brief how about plain-number? show you here.* author wenxuanpei* email 15873152445163.com(query for any question here)*/ #define _CRT_SECURE_NO_WARNINGS//support c-library in Microsoft-Visual-Studio #include <stdio.h>static…