Hugo搭建博客和部署全流程—Congo主题和优化

欢迎来到我的全新博客:探索科研、创业和日常——Hugo搭建博客、部署和优化全流程

blogging

🌏 Demo site: https://sylvanding.online/
⭐️ Repo: https://github.com/sylvanding/sylvanding.github.io

我的博客使用Hugo搭建,选择Congo主题,以便为你提供更流畅舒适的阅读体验。推荐您先阅读Hugo文档和Congo文档。

为什么选择Hugo和Congo主题?

As a passionate blogger, the choice of platform and theme is crucial in shaping the reader experience and managing content efficiently. After evaluating several platforms and themes, I settled on Hugo with the Congo theme. Here’s why:

为什么选择Hugo?

Hugo 比 Hexo 更加轻量级和快速。

Hugo is renowned for its incredible speed and efficiency. As a static site generator, it compiles pages almost instantaneously, making it perfect for bloggers who value quick build times. Furthermore, Hugo’s flexibility in handling various content types effortlessly has allowed me to structure my blog without the complexities often found in dynamic CMS platforms.

Key Features of Hugo:

  • Speed: Hugo generates pages at lightning-fast speeds.
  • Customizability: Extensive themes and tools for customization.
  • Security: Being static, Hugo reduces common security risks associated with dynamic websites.

为什么选择Congo?

Congo is designed to be a powerful, lightweight theme for Hugo. It’s built using Tailwind CSS with a clean and minimalist design that prioritises to your content.

Choosing the Congo theme was a straightforward decision once I understood the advantages of Tailwind CSS. Tailwind CSS version 3 offers an intuitive and powerful framework for designing unique and responsive layouts. Its utility-first approach means that almost any design is possible without leaving the comfort of your HTML.

Benefits of the Congo Theme:

  • Responsive Design: Adjusts beautifully across all devices.
  • Customizable: Easy to modify with utility classes.
  • Modern Aesthetics: Sleek and clean design that keeps the focus on content.

安装

Install Hugo

If you haven’t used Hugo before, you will need to install it onto your local machine. You can check if it’s already installed by running the command hugo version.

Make sure you are using Hugo extended version 0.87.0 or later as the theme takes advantage of some of the latest Hugo features.

You can find detailed installation instructions for your platform in the Hugo docs.

Clone my repo

git clone --recurse-submodules https://github.com/sylvanding/sylvanding.github.io.git mywebsite

Running server

cd mywebsite
hugo serve -D

Creating a new post

hugo new content posts/your-post-title.md

确保在发布内容前设置文章的Front Matter中的draftfalse.

Deployment

Deploying Hugo on Netlify can be a simple and efficient process, especially when integrating with GitHub for continuous deployment.

Before connecting to Netlify, ensure your site’s source code has been pushed to GitHub repo:

git push origin main

❗️ 注意:将origin修改为你自己仓库的地址!

Then Netlify tend to build the website automatically according to configuration file netlify.toml.

That’s it! Your Hugo blog is now live on Netlify. You can customize it with different themes, add plugins, and optimize your content as desired. Netlify also offers advanced features like custom domains, HTTPS, and continuous deployment, which make your blogging experience secure and efficient.

In summary: Never directly edit the theme files. Only make customisations in your Hugo project’s sub-directories, not in the themes directory itself.

Congo is built to take advantage of all the standard Hugo practices. It is designed to allow all aspects of the theme to be customised and overridden without changing any of the core theme files. This allows for a seamless upgrade experience while giving you total control over the look and feel of your website.

In order to achieve this, you should never manually adjust any of the theme files directly. Whether you install using Hugo modules, as a git submodule or manually include the theme in your themes/ directory, you should always leave these files intact.

The correct way to adjust any theme behaviour is by overriding files using Hugo’s powerful file lookup order. In summary, the lookup order ensures any files you include in your project directory will automatically take precedence over any theme files.

For example, if you wanted to override the main article template in Congo, you can simply create your own layouts/_default/single.html file and place it in the root of your project. This file will then override the single.html from the theme without ever changing the theme itself. This works for any theme files - HTML templates, partials, shortcodes, config files, data, assets, etc.

As long as you follow this simple practice, you will always be able to update the theme (or test different theme versions) without worrying that you will lose any of your custom changes.

优化Congo主题

⚠️ 所有优化代码均可在根目录的layoutsassets文件夹中找到,并未直接修改themes/congogit子模块下的任何文件。和优化有关的配置项可在config/_default/params.toml文件中找到。

如果你对技术层面感兴趣,想了解更多关于本博客的最新特性、搭建过程、配置和部署等细节,强烈推荐你查看Welcome to My New Blog: Powered by Hugo and Styled with Congo。

图片灯箱效果

“图片灯箱效果”使用Fancybox实现:

Fancybox is the ultimate JavaScript lightbox alternative that sets the standard for premium user experience in multimedia display. Supports images, videos, maps, inline content, iframes and any other HTML content.

图片灯箱效果

自定义页脚

实现“网页运行时间”和“备案号”功能。

页脚

音乐模块

基于MetingJS在文章中实现音乐模块的插入。

音乐模块

评论

基于giscus实现评论功能。重写appearance.js,使giscus可根据Congo外观模式(light/dark)自动切换亮暗外观。

⚠️ 请将layouts/partials/comments.html文件中的内容替换为你自己的giscus代码块。

评论

自定义svg图标

将自定义的.svg文件放置于assets/icons目录下,请以文本模式打开您的.svg,修改title标签内容,并为path新增属性fill="currentColor"

自定义svg图标

总结

我希望这个博客成为一个交流的平台,不仅仅是我个人思考和学习的记录,也是我们共同成长的社区。我期待与大家在评论区中进行互动,无论是科研问题、创业建议还是生活分享,我都非常欢迎大家的参与和讨论。

最后,感谢你的到来和阅读,希望你能常来,和我一起在这个小小的网络角落,找到共鸣和灵感。

期待你的参与,一起成长,一起探索! ⭐


⚠️ 转载请注明文章出处:©️ 2024 Sylvan Ding

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

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

相关文章

为什么25+胶原蛋白会流失?

随着年龄的增长,特别是当我们步入25岁之后,胶原蛋白的流失问题逐渐凸显,成为影响皮肤健康和外观的重要因素。以下将从几个方面详细解释胶原蛋白流失的原因: 一、年龄增长 胶原蛋白是皮肤的主要支撑结构,但随着年龄的增…

身边消失的超市越来越多!盒马、山姆也卷出历史新高度

不知不觉,身边不少老牌连锁超市都在忽然之间消失得无影无踪。 前不久,山姆又发布了长期降价清单,而随着山姆又一次降价,盒马也再一次被推上了风口浪尖。事实上,作为国内市场两大头部仓储会员超市,盒马与山…

数据挖掘与机器学习——分类算法

目录 机器学习算法最普通分类: 分类算法的定义: 分类算法的应用: 分类器实现分类: 分类器的构建标准: 概率模型: 贝叶斯公式: 朴素贝叶斯算法(朴素贝叶斯分类器)…

一文了解JavaScript 中数组所有API的使用

文章导读:AI 辅助学习前端,包含入门、进阶、高级部分前端系列内容,当前是 JavaScript 的部分,瑶琴会持续更新,适合零基础的朋友,已有前端工作经验的可以不看,也可以当作基础知识回顾。 这篇文章…

【八股】在Gradle和Maven之间抉择构建工具

在Java开发中,Gradle和Maven是两种常用的构建工具,它们在许多方面有不同的特点和使用场景。以下是它们之间的一些主要区别: 构建脚本 Maven:使用XML文件(pom.xml)来定义项目的构建配置。XML的语法严格且具…

【每日刷题】Day55

【每日刷题】Day55 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 441. 排列硬币 - 力扣(LeetCode) 2. 455. 分发饼干 - 力扣(Leet…

centos系统清理docker日志文件

centos系统清理docker日志文件 1.查看docker根目录位置2.清理日志 1.查看docker根目录位置 命令:docker info ,将Docker Root Dir 的值复制下来。如果目录中包含 等特殊符号的目录,需要转义 2.清理日志 创建文件:vim docker_logs_clean.…

BBC 超2.5万员工敏感数据泄露

近日据外媒报道,英国广播公司 (BBC) 发生了严重的数据泄露事件,了超 25,000 名现任和前任员工的敏感个人信息泄露。 BBC 表示,此次泄密源于第三方云数据存储服务中的私人记录被非法访问。 BBC 表示:“正在与内部和外部的专家团队…

2024-6-4 石群电路-23

2024-6-4,星期二,13:16,天气:晴,心情:晴。今天又是阳光明媚的一天,没有什么特别的事情发生,加油学习喽~ 今日观看了石群老师电路课程的第39和第40个视频,继续第九章的学…

vulnhub靶机xptosystem

下载地址:https://download.vulnhub.com/xpto/xptosystem.ova 主机发现 端口扫描 服务扫描 漏洞扫描 看一下web 目录爆破 那不用说肯定看看robots.txt 要检查readme去看看 看不懂 这个是靶场吧很像 在最后看着挺像url路径的 还真是,我直接base64 坏了还…

TS 小技巧: 使用元组生成联合类型

前言 在我们使用 TypeScript 开发业务的时候,也许你会遇到一个这样的问题:我们如何根据一个数组的值得到一个联合类型? 这里向大家介绍一个开发小技巧:使用元组生成联合类型 开发场景 我们看下面一段 ts 代码: con…

Linux设备驱动platform驱动

更全面的内容可以查看我的github 提供了示例代码 platform设备驱动 Linux 系统要考虑到驱动的可重用性,因此提出了驱动的分离与分层这样的软件思路,为了达到所有硬件都可以按照总线设备驱动模型来实现驱动,Linux从2.6起就加入了 platform 设…

8086 汇编笔记(八):转移指令的原理

一、操作符 offset 操作符offset在汇编语言中是由编译器处理的符号,它的功能是取得标号的偏移地址 codesg segmentstart: mov ax,offset start ;相当于 mv ax,0s: mov ax,offset s ;相当于 mv ax,3codesg endsend start 二、jmp 指令 jmp为无条件…

【面试宝藏】容器技术详解其二

Docker与容器化技术详解 15. Docker Image 和 Docker Layer(层)有什么不同? Docker Image:Docker镜像是一个不可变的文件,包含应用程序的所有依赖项、库、配置和环境变量。它是运行Docker容器的基础,包含…

每天一个数据分析题(三百五十)

在“人货场”的业务模块下,有可能成为描述“场”的情况的相关数据表是 A. 订单表 B. 订单详情表 C. 客户详情表 D. 区域表 数据分析认证考试介绍:点击进入 题目来源于CDA模拟题库 点击此处获取答案

【二叉树】Leetcode 222. 完全二叉树的节点个数【简单】

完全二叉树的节点个数 你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最…

【云原生_K8S系列】什么是 Kubernetes Pod?用实际例子解释

Kubernetes(简称K8S)是一个开源的容器编排平台,用于自动化容器化应用的部署、扩展和管理。在Kubernetes中,Pod是最小的部署单元。理解Pod的概念对于掌握Kubernetes至关重要。本篇文章将详细解释什么是Kubernetes Pod,并…

数字孪生概念、数字孪生技术架构、数字孪生应用场景,深度长文学习

一、数字孪生起源与发展 1.1 数字孪生产生背景 数字孪生的概念最初由Grieves教授于2003年在美国密歇根大学的产品全生命周期管理课程上提出,并被定义为三维模型,包括实体产品、虚拟产品以及二者间的连接,如下图所示: 2011年&…

【机器学习】机器学习在深度学习领域中的作用:半监督学习的视角

👀时空之门👀 🔍引言🎈半监督学习概述🚝机器学习在深度学习领域中的作用☘特征提取与表示学习🍀复杂任务建模❀结合半监督学习提升性能 🚀半监督学习在深度学习中的应用场景📕图像识…

反弹shell检测的一些思路

前言 反弹shell是攻击者常用的手段之一,通过反弹Shell,攻击者可以绕过防火墙,获取目标系统的shell访问权限,进行后续的恶意操作。因此,及时检测并阻止反弹Shell行为对于安全防护来说非常重要。本文通过介绍反弹shell的…