Skip to content
Go back

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

Table of contents

Open Table of contents

介绍

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

Overview:

注意:

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

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

我们的看法:

业内有名的个人网站

我翻阅过的一些个人网站

静态网站生成器:Hugo

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

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

特点:

安装和入门

# 创建名为 <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 目录结构

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 部署静态网站的模板

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年终总结