/images/avatar.png

haoyuli

网盘博客搭建参考简略教程

本文记录了在 CentOS 7 环境下,从零搭建 Hugo Extended + LoveIt 主题 博客,并将文章存储目录放置在 坚果云挂载目录 中参考过程,回忆记录包含所有关键配置,避免踩坑。

关键词:CentOS7 Hugo(Extended) LoveIt主题 坚果云挂载

1. 系统环境说明

项目 说明
系统 CentOS 7 (其他linux版本同样适用)
Hugo Extended 版本(必须支持 SCSS 编译)
主题 LoveIt
文章存储 VPS 本地 + 坚果云挂载目录
访问入口 https://www.edu365.site/
部署模式 hugo server 实时更新

2. 安装基础依赖

yum -y install git wget gcc make golang

注:可在其他centos7环境下安装编译,编译完成后将编译好的二进制hugo版本复制至当前系统

3. 编译并安装 Hugo Extended

git clone https://github.com/gohugoio/hugo.git
cd hugo
go install --tags extended
cp ~/go/bin/hugo /opt/hugo/hugo
chmod +x /opt/hugo/hugo

验证:

hello_world

欢迎来到我的博客! 这里是一篇用于测试和展示主题效果的示例文章。


1.📖 内容格式

📝 本文内容包括:

  • 段落内容
  • 提示框
  • 代码块
  • 列表效果

💡 提示框示例

提示
你可以自由编辑 Markdown 文件来创建文章。
---
title: "hello_world"
date: 2025-11-09
draft: false
description: "无"
tags: ["日常更新"]
categories: ["默认分类"]

---
## 标题
--正文内容
---

2.🔄 博客备份

#!/bin/bash
[root@linux ~]# crontab -l
0 4 * * * /root/send-blog-backup.sh >/dev/null 2>&1

send-blog-backup.sh

#!/bin/bash

# -----------------------------
# 配置
# -----------------------------
BACKUP_DIR=~/blog-backups
SOURCE_DIR=/opt/blog
TO="i@protonmail.com" 
FROM="i@gmail.com" 
SUBJECT="blog backup $(date +%Y%m%d)"
ACCOUNT="google"   # msmtp 配置的谷歌邮箱账户
KEEP_DAYS=7
ZIP_PASSWORD="你的密码"  # 设置压缩包密码

# -----------------------------
# 创建备份目录
# -----------------------------
mkdir -p "$BACKUP_DIR"

# -----------------------------
# 给 md 文件加 UTF-8 BOM(临时目录)
# -----------------------------
TMP_DIR=$(mktemp -d)
cp -r "$SOURCE_DIR"/* "$TMP_DIR"/

# 为每个 md 文件加 BOM
for f in "$TMP_DIR"/*.md; do
    if [ -f "$f" ]; then
        # 检查文件是否已经有 BOM
        if ! head -c 3 "$f" | grep -q $'\xEF\xBB\xBF'; then
            # 给文件加 BOM
            (echo -ne '\xEF\xBB\xBF'; cat "$f") > "${f}.bom" && mv "${f}.bom" "$f"
        fi
    fi
done

# -----------------------------
# 生成 ZIP 压缩包
# -----------------------------
BACKUP_FILE="$BACKUP_DIR/blog-content-$(date +%Y%m%d).zip"
cd "$TMP_DIR"
zip -r -P "$ZIP_PASSWORD" "$BACKUP_FILE" ./*

# -----------------------------
# 获取备份信息
# -----------------------------
BACKUP_SIZE=$(du -h "$BACKUP_FILE" | cut -f1)
BACKUP_TIME=$(date +"%Y-%m-%d %H:%M:%S")

BODY="备份已完成:
路径:$BACKUP_FILE
大小:$BACKUP_SIZE
创建时间:$BACKUP_TIME
压缩密码已设置。"

# -----------------------------
# 发送邮件(msmtp + base64)
# -----------------------------
BOUNDARY="ZZ_/afg6432dfgkl.94531q"

(
echo "From: ${FROM}"
echo "To: ${TO}"
echo "Subject: ${SUBJECT}"
echo "MIME-Version: 1.0"
echo "Content-Type: multipart/mixed; boundary=\"$BOUNDARY\""
echo
echo "--$BOUNDARY"
echo "Content-Type: text/plain; charset=UTF-8"
echo "Content-Transfer-Encoding: 7bit"
echo
echo "$BODY"
echo
echo "--$BOUNDARY"
echo "Content-Type: application/zip; name=\"$(basename $BACKUP_FILE)\""
echo "Content-Transfer-Encoding: base64"
echo "Content-Disposition: attachment; filename=\"$(basename $BACKUP_FILE)\""
echo
openssl base64 -A -in "$BACKUP_FILE" | fold -w 76
echo
echo "--$BOUNDARY--"
) | msmtp -a "$ACCOUNT" "$TO"

# -----------------------------
# 删除临时目录
# -----------------------------
rm -rf "$TMP_DIR"

# -----------------------------
# 删除 7 天前的旧备份
# -----------------------------
find "$BACKUP_DIR" -type f -name "blog-content-*.zip" -mtime +$KEEP_DAYS -exec rm -f {} \;

3.📝 常用 Emoji

Emoji 用途 示例
1️⃣ 写作与文章相关
📝 笔记、文章 📝 今日笔记
📖 阅读、教程 📖 阅读教程
✍️ 编辑、创作 ✍️ 编辑文章
📰 新闻、更新 📰 最新动态
2️⃣ 任务与状态
已完成 ✅ 已完成部署
失败 ❌ 操作失败
🔄 更新 🔄 内容更新
等待/进度 ⏳ 等待完成
🎯 目标 🎯 本周目标
3️⃣ 提示与注意事项
⚠️ 警告 ⚠️ 注意事项
💡 提示、小技巧 💡 小技巧
📌 重点、收藏 📌 本文重点
🔔 提醒 🔔 重要通知
4️⃣ 热点与推荐
🔥 热门 🔥 热门文章
🌟 推荐 🌟 推荐阅读
💎 精选 💎 精选内容
星标 ⭐ 五星推荐
5️⃣ 技术与工具
🛠 工具、配置 🛠 配置工具
🧩 插件、模块 🧩 插件安装
⚙️ 系统设置 ⚙️ 系统配置
💻 编程、开发 💻 编写代码
🖥 服务器、电脑 🖥 部署环境
6️⃣ 社交与交流
💬 评论、讨论 💬 留言讨论
📩 邮件、联系 📩 联系我
🔗 链接、参考 🔗 参考资料
🤝 合作 🤝 合作伙伴
7️⃣ 发布与进度
🚀 发布、上线 🚀 部署完成
🗓 时间、日程 🗓 发布日期
耗时 ⏱ 耗时统计
📊 数据、统计 📊 数据分析