Skip to content
Go back

基于GitHub和腾讯云的个人主页搭建

Table of contents

Open Table of contents

介绍

本文基于 GitHub Pages 和腾讯云对象存储搭建一个高度可定制的个人主页或个人博客

Overview:

注意:

为什么需要个人主页/个人博客

个人网站是指由个人或团体根据自己的兴趣爱好或价值取向,为了展示自我、与人交流,以非盈利为目的而在网络上创建的供其他人浏览的网站。就内容而言,此时期个人网站所提供的,多半是纯文字或图片等静态信息。

我们的看法:

业内有名的个人网站

我翻阅过的一些个人网站

静态网站生成器:Hugo

“世界上最快的网站构建框架”

Hugo 是一个用 Go 编写的快速而现代的静态网站生成器,旨在让网站创建再次变得有趣。

特点:

安装和入门

Terminal window
# 创建名为 <my-blog> 的站点,对应于本地一个文件夹
hugo new site my-blog && cd my-blog
git init # 初始化git仓库
# 添加主题
git submodule add [email protected]:hugo-sid/hugo-blog-awesome.git \
themes/hugo-blog-awesome
# 写入配置文件
echo "theme = 'hugo-blog-awesome'" >> config.toml
# 复制示例站点中的博客
cp themes/hugo-blog-awesome/exampleSite/content/* -r content
# 启用本地服务器
hugo server

Hugo 目录结构

Terminal window
my-blog/
├── archetypes/ # 预配置模板,用于统一站点文章元数据
└── default.md
├── assets/
├── content/ # 网站的所有内容
├── data/
├── layouts/ # 网页模板文件
├── public/ # 构建好的静态网页
├── static/ # 静态内容:图像,css,js等
├── themes/ # 主题
└── config.toml # 配置文件

随时访问:GitHub Pages

年轻人的第一个域名

直接从您的 GitHub 存储库托管。只需编辑、推送,您的更改即可生效。

无需云服务器即可部署静态网站

GitHub Actions

一种持续构建和持续交付(CI/CD)平台,可用于自动生成、测试和部署。

比如:

简要介绍

一个自动化爬虫的例子

项目地址:wlonestar/HHU_URP_auto_login 配置文件 sendmail.yml

免去每次登录教务系统输入密码和验证码的麻烦,解放双手!

name: send mail # 名称
on: # 触发器
schedule:
- cron: "00 14 * * *" # 每天 UTC+8 22:00
jobs: # 工作流
build:
runs-on: ubuntu-latest # 运行器
steps: # 步骤
- name: checkout repo content
uses: actions/checkout@v2
- name: setup python # 设置python版本
uses: actions/setup-python@v2
with:
python-version: 3.9
- name: install dependencies # 安装 pip 依赖
run: |
pip install -r requirement.txt
- name: execute py script # 执行自定义 py 脚本
run: |
python main.py -u $Username -p $Password
env:
Username: ${{ secrets.HHU_USERNAME }} # 学号
Password: ${{ secrets.HHU_PASSWORD }} # 密码
- name: send email # 发送邮件
uses: dawidd6/action-send-mail@v2
with:
server_address: smtp.qcloudmail.com
server_port: 465
username: ${{ secrets.MAIL_USERNAME }} # 发件邮箱
password: ${{ secrets.MAIL_PASSWORD }} # 发件邮箱密码
subject: 空闲教室情况
body: file://template/result.html
to: ${{ secrets.EMAIL }} # 目标邮箱
from: GitHub Actions
content_type: text/html

使用现成的模板

官方提供了 Hugo 部署静态网站的模板

Terminal window
git remote add origin [email protected]:wlonestar/wlonestar.github.io.git
git push -u origin master

我们准备了一个方便的 Makefile

图片怎么办:对象存储

对象存储

对象存储也称为基于对象的存储,是一种计算机数据存储架构,旨在处理大量非结构化数据。 与其他架构不同,它将数据指定为不同的单元,并捆绑元数据和唯一标识符,用于查找和访问每个数据单元。 这些单元(或对象)可以存储在本地,但通常存储在云端,以便于从任何地方轻松访问数据。

花上一点小钱钱,用上对象存储服务

腾讯云对象存储COS

使用图床工具 PicGo

以腾讯云为例

尝试一下

总结

本次分享的内容:

心得体会:

— 完 —


Share this post on:

Previous Post
简单网页搜索项目的部署
Next Post
2022年终总结