静态部署_Hugo部署静态网站设计的一些思考

news/2024/5/12 18:27:28/文章来源:https://blog.csdn.net/weixin_39811478/article/details/112731762

静态网站设计的个人思考

为什么要搭建自己的静态博客系统?

  1. 写好的Markdown可以快速的发布到自己的博客网站上,不需要什么一键式多平台发布、自媒体自动同步(支持的不全面)
  2. 没有广告,页面干净酸爽
  3. 高度自由化,支持定制化css样式,可以了解和实践一些前端的知识。
  4. 事件驱动学习,养成持续学习和分享的习惯,收纳总结常遇到的问题以及处理经验,毕竟有些东西慢慢的会忘掉的。
  5. 通过公开的自己的笔记,暴露问题,从而发现问题,培养和理清自己思考问题的思路

博客网站的构建与部署思考

先看一下初期的设计图如下,将生成好的静态页面推送到代码仓库里面,然后通过GITHUB自带的GitHub Action自动的部署到云端主机上,同时将域名CNAME或者AGithub Pages是上或者云主机IP上。

9c718d09b6b8e673f917b9899cef666f.png

定制化个人博客

我们这里使用Hugo这个静态网站生成工具来制作静态网站,该工具是通过Go编写的,因此小巧且资源占用少。下面本次实验的基础环境

软件版本
系统Macos 10.15.5
Hugohugo v0.73.0
Zzo themeZzo[1]

在下载完成hugo之后,将其添加到系统的可执行的路径下,echo $PATH获取。

hugo new site linuxermaster.github.io # 创建一个名称为linuxermaster.github.io的博客工作目录
cd linuxermaster.github.io
git submodule add https://github.com/zzossig/hugo-theme-zzo.git themes/zzo
git submodule update --remote --merge
hugo server --themesDir ../.. # 即可运行一个使用zzo主题的静态网站

以上就完成了静态网站的第一小步,下面继续了解hugo

├── archetypes
│   └── default.md
├── config
│   └── _default # 存储默认配置文件的目录,里面包含全局配置、菜单配置、语言配置、其他诸如友链等通信配置
├── content
│   ├── en # 存储英文版博客的目录,这里就是存储markdown文件的目录
│   └── zh # 存储中版博客的目录,这里就是存储markdown文件的目录
├── data
│   ├── font.toml # 设置字体
│   └── skin.toml # 设置皮肤的颜色
├── deploy.sh # 推送静态网页到git的脚本
├── layouts
│   └── partials
├── public # 执行hugo命令将markdown转换成html的静态页面目录
│   ├── CNAME
│   ├── css
│   ├── en
│   ├── favicon
│   ├── favicon.ico
│   ├── favicon.png
│   ├── fonts
│   ├── gallery
│   ├── images
│   ├── index.html
│   ├── js
│   ├── lib
│   ├── logo-192.png
│   ├── logo-512.png
│   ├── logo.png
│   ├── manifest.json
│   ├── sitemap.xml
│   └── zh
├── resources
│   └── _gen
├── static # 静态网站需要的一些样式文件目录
│   ├── en
│   ├── favicon
│   ├── fonts
│   ├── gallery
│   └── images
└── themes # 网站需要的模板主题目录
    └── zzo

可以将以前写的markdown存放在content/en/目录下,然后运行网站就可以看到你的笔记

☸️  k8sdev? default  ~/workspaces/linuxermaster.github.io   master ●✚  ? ? hugo server -t zzo

                   | EN  | ZH   
-------------------+-----+------
  Pages            | 248 |  52  
  Paginator pages  |  10 |   0  
  Non-page files   | 281 |   3  
  Static files     | 136 | 136  
  Processed images |   0 |   0  
  Aliases          |  56 |   8  
  Sitemaps         |   2 |   1  
  Cleaned          |   0 |   0  

Built in 6102 ms
Watching for changes in /Users/marionxue/workspaces/linuxermaster.github.io/{archetypes,content,data,layouts,static,themes}
Watching for config changes in /Users/marionxue/workspaces/linuxermaster.github.io/config/_default
Environment: "development"
Serving pages from memory
Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)
Press Ctrl+C to stop

如何定制文章的简介和图片

很简单,只需要在markdown的首部添加以下yaml格式的配置说明即可:

author: "云原生生态圈" # 文章标题下显示的作者名字
title: "Hugo+Zzo主题快速搭建持久维护的个人网站" # 文章的标题
date: 2020-07-20T19:49:06+09:00 # 自定义文章的发表时间
description: "私人订制你的技术平台平台" # 文章的说明描述
authorImage: "/images/whoami/头像.png" # 作者的头像
authorDesc: "啥都不会的DevOps工程师??" # 作者的自述
draft: false # 是否标记为草稿,如果为true,将不会编译进html页面
hideToc: false # 是否隐藏toc目录
enableToc: true # 是否启用toc
enableTocContent: false # 是否显示toc
authorEmoji: ? # 显示在作者名字之前的表情
tags: # 文章标签,用于搜索
- hugo
- blog
- zzo
- hugo template
image: images/posts/hugo-blog.png # 显示文章的图片
socialOptions: # 显示的一些社交账号信息
  email: "marionxue@qq.com"
  facebook: "@marionxue"

效果如下如:

ccc08f98733a3e67b8aab559fe27fb07.png

a523a572bc0cfe941123d82c4241838d.png

如何自定义网站底部样式

5c76a6679316d97c7c979a7a7dcf5dc4.png

自定义网站底部的样式,需要修改css样式,由于篇幅的问题,这篇文章就不在说明了。

推送静态网站脚本

#!/bin/sh
# If a command fails then the deploy stops
set -e

printf "\033[0;32mDeploying updates to GitHub...\033[0m\n"

# Build the project.
hugo # if using a theme, replace with `hugo -t `

# Go To Public folder
cd public

# Add changes to git.
git add .

# Commit changes.
msg="rebuilding site $(date)"
if [ -n "$*" ]; then
        msg="$*"
fi
git commit -m "$msg"

# Push source and build repos.
git push origin master

正如前面的网站设计图所示,不管将网站托管到Github Pages上还是部署到云主机上,我们都会遇到访问慢的情况,因此我们可以通过域名加速缓解这个问题,比如通过又拍云推广合作等,写技术类的文章,避免不了需要一些图来辅助解释说明,因此可以将图片放在一些对象存储上,例如七牛,oss等,我这里暂时就存在七牛上,但是七牛的bucket绑定个人域名需要备案,所以首先需要有一个备案的域名,域名备案需要一台云主机,我使用的是滴滴云([1c/2G]/68元/年),滴滴云的特惠链接:https://i.didiyun.com/29WG0vRdqDG

Reference

[1]

Zzo theme: https://github.com/zzossig/hugo-theme-zzo.git

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

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

相关文章

python 异步加载图片_Python爬虫学习笔记(1.3)爬取网站异步加载数据

异步加载数据:简单的举个例子,有些网页不需要换页,只要网页上的滚动条滑到最下方,它就会自动加载部分数据,和瀑布流一样,可以持续不断的加载数据 ,这些持续加载的数据就属于异步数据(由js控制&a…

爬虫技术教程 java_基于java的小说网站网络爬虫程序开发视频教程 下载

简介:基于java的小说网站网络爬虫程序开发视频教程下载基于java的小说网站网络爬虫程序开发视频教程附代码资料10课|____注意!很重要,观看前必读说明.txt|____99.资料|____novel.web-0.0.1-SNAPSHOT.war|____generator.zip&nb基于java的小…

500个符合web标准的网站模板

链接地址:http://bolm.cn/xhtml/ 转载于:https://www.cnblogs.com/xiaozhuoyun/archive/2007/12/07/987031.html

使用C#登录带验证码的网站

转载自:http://www.cnblogs.com/studyzy/archive/2008/05/08/1187626.html 我在上一篇文章中已经讲解了一般网站的登录原来和C#的登录实现,很多人问到对于使用了验证码的网站该怎么办,这里我就讲讲验证码的原理和对应的登录方法。 验证码的由来 几年前&a…

给你一份网站升级攻略,让你的网站焕然一新

关键词:网站建设,企业官网 虽然已有官网,但是公司业务繁忙没时间去维护?久而久之网站就出现了很多问题,老板不看还好,一看不得了,糟糕的界面,过时的内容,还怎么好意思拿去…

大型网站架构演变和知识体系

之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么…

织梦网站修改栏目模型后,文章不显示的解决办法

在一次织梦网站改版的过程中,有一个栏目需要改成一个新建的内容模型,这时候就会遇到一个问题,栏目的文章会突然“消失不见”,这是因为更改之后栏目文章会因为数据表没有更改所导致的。找到了一个方法,大家一起来看看吧…

学习英语的好网站 (要时刻保持对英语的热情与激情,呵呵)

这些网站是从新东方尹圆圆老师的博客上找来的,希望大家好好利用: 1. http://www.texun.cn/addrso/index.htm 特训网:English Learning Websites 2. http://broadcast-live.com/ Live Radio and TV from Around the World 3. http://www.nxeng…

CDN内容分发服务推荐-加速你的网站

CDN内容分发服务推荐-加速你的网站 导语 CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。 CDN服务公司推荐 免备案(免费&#…

怎么在php上加栏目,wordpress网站如何添加栏目

wordpress自定义栏目设置方法用wordpress程序建站时,往往很难去设置产品的大小、重量、单价等参数,好在wordpress有一个自定义栏目功能。我们可以通过wordpress自定义栏目给产品增加参数属性。设置方法首先是开启自定义栏目模块,进入后台后&a…

十大网站管理工具

引用:http://www.williamlong.info/archives/1278.html 当网站发展到一定的规模,站长就应该开始考虑要为网站托管服务器。通常情况下服务器会被放到电信或网通的机房,网站管理员通过远程来管理服务器。在网站服务器进行托管时,需要安装一些常…

提高网站加载速度的3项黄金守则

如何优化网页加载速度是每个前端开发工程师需要了解的,也是前端开发工程师需要具备的基本条件。 优化网站加载速度的原理主要是减少网站文件的大小,减少HTTP请求数。网站文件越小,浏览器加载页面会比较轻松,打开页面的速度也会提升…

网站架构设计

centos7.5网站架构设计 如图: 大致流程: 1、用户访问网站通过防火墙,连接三层交换机到达web服务器 2、负载均衡服务器根据各个服务器的负载合理调节资源 3、web服务器先去缓存服务器找相应的资源,若没有,再去数据库等…

网站服务协议HTTP原理

一、网站页面访问流程 1)客户端 浏览器输入网址信息点击回车-----------------------ENTER 2) 客户端 完成域名的解析过程 ----------------------------------DNS 3) 客户端 直接访问相应网站服务器----------------------------开始建立TCP三次握手过程 4) 客户端 访问网站服…

Azure Traffic Manager 现可与 Azure 网站集成!

编辑人员注释:本文章由 WindowsAzure 网站团队高级专家级工程师 Jim Cheshire撰写。 AzureTraffic Manager 已经推出有一段时间,这是一种跨多个区域管理网站的有效方式。您可以将访问者路由至可以提供最佳性能的区域&#xff0c…

如何设计一个基于Node.js和Express的网站架构?

前言 今年七月份,我和几个小伙伴们合伙建立了一个开发团队。业务开展如火如荼的同时,团队宣传就提上了日程,所以迫切需要搭建公司网站出来。确定目标后我们就开始考虑如果构建一个企业网站。先是进行业内调查,看了看别人家的网站是…

.NET技术+25台服务器怎样支撑世界第54大网站

英文原文:StackOverflow Update: 560M Pageviews A Month, 25 Servers, And Its All About Performance StackOverflow 是一个 IT 技术问答网站,用户可以在网站上提交和回答问题。当下的 StackOverflow 已拥有 400 万个用户,4000 万个回答&am…

用python画出简单笑脸画法_自从有了这个网站,用函数公式画出狮子王就是这么简单...

▲▲▲点击查看▲▲▲可能对大多数人来说,数学一直是自己学习生涯中的弱项,毕竟「人被逼急了什么都做得出来,唯独数学不会,不会就是不会」,特别是在函数的学习中,因为涉及到了「变量」这一概念,…

北京奥运网站的图片切换轮转效果

预览 下载 转载于:https://www.cnblogs.com/CB/archive/2008/05/21/1204378.html

网站服务器80端口怎么开放,开放80端口配置

开放80端口配置 内容精选换一换本节操作指导用户关闭Windows操作系统云服务器的防火墙,以及防火墙添加例外端口的操作。本节操作以2012操作系统云服务器为例。防火墙开启和设置安全组是对云服务器的双重保护,如果选择关闭防火墙,建议安全组谨…