张芷铭的个人博客

Hugo 是基于 Go 的静态站点生成器,适合将 Obsidian 笔记发布为博客。核心路径:环境安装 → 建站 → 适配 Obsidian → 部署。

安装 Hugo

推荐安装 Extended 版本(支持 SCSS):

系统命令
Windowschoco install hugo-extended
Ubuntu/Debiansudo apt install hugo-extended
CentOSsudo dnf install hugo-extended

验证:hugo version

快速建站

1
2
3
4
5
6
7
hugo new site my-blog
cd my-blog
git init
git submodule add https://github.com/adityatelange/hugo-PaperMod themes/PaperMod
echo 'theme = "PaperMod"' >> hugo.toml
hugo new posts/first-note.md
hugo server -D

访问 http://localhost:1313 预览。

目录结构

1
2
3
4
5
6
7
my-blog/
├── content/      # Markdown 内容
├── themes/       # 主题
├── static/       # 静态资源(图片等)
├── hugo.toml     # 配置文件
├── public/       # 构建输出
└── layouts/      # 自定义模板

适配 Obsidian

同步笔记

1
cp -r /obsidian/notes/* content/notes/

转换双链

安装 hugo-obsidian 插件转换 [[]] 语法:

1
2
go install github.com/jackyzha0/hugo-obsidian@latest
hugo-obsidian convert

处理图片路径

Obsidian 图片复制到 static/attachments/,路径改为:

1
![](/attachments/photo.jpg)

配置示例

1
2
3
4
5
6
7
8
9
baseURL = "https://example.com/"
languageCode = "zh-CN"
title = "我的博客"
theme = "PaperMod"

[params]
  defaultTheme = "auto"
  ShowReadingTime = true
  ShowToc = true

部署

构建

1
hugo --minify

免费平台:推送到 GitHub,Vercel/GitHub Pages 自动部署

自有服务器

1
scp -r public/* root@server:/var/www/blog/

自动化同步

1
2
3
4
#!/bin/bash
cp -r /obsidian/notes/* /blog/content/
cd /blog && hugo-obsidian convert && hugo --minify
scp -r public/* root@server:/var/www/blog/

添加到 crontab 实现定时同步。

Comments