Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
Hugo-部署静态网站设计的一些思考,希望能够帮助你!!!。
以下文章来源于架构实验室 ,作者Marionxue
架构实验室
☁️技术爱好者,探索和分享运维开发领域生态技术☯️
先看一下初期的设计图如下,将生成好的静态页面推送到代码仓库里面,然后通过GITHUB自带的GitHub Action自动的部署到云端主机上,同时将域名CNAME或者A到Github Pages是上或者云主机IP上。
我们这里使用Hugo这个静态网站生成工具来制作静态网站,该工具是通过Go编写的,因此小巧且资源占用少。下面本次实验的基础环境
软件版本系统Macos 10.15.5Hugohugo v0.73.0Zzo 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@.com"
facebook: "@marionxue"
效果如下如:
自定义网站底部的样式,需要修改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 <YOURTHEME>` # 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
[1]
Zzo theme:https://github.com/zzossig/hugo-theme-zzo.git
阅读原文
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
下一篇
已是最新文章