目前我的網站發布流程就是使用該篇文章技術,如果你使用的 Notion 寫文章,可以看看這篇 《Vercel + Notion 建個人博客》。
流程簡介:
- 選擇自己的靜態網站生成工具,我選擇 Hugo;
- 使用 Hugo 初始化好結構然後上傳到 Github 倉庫;
- Obsidian 寫好文章,然後使用插件將指定的文章 (md 格式) 上傳到第 2 步的倉庫,插件的作用就是將 Obsidian 中的 markdown 內容適配成 Hugo 需要的內容;
- 部署倉庫,配置域名。
相關工具#
- Obsidian + Github Publisher 插件,必須
- Hugo + Paper Mod 主題,可選擇其他
- Github,必須
- Vercel,可選擇其他
具體步驟繼續往下看。
Hugo + PaperMod#
使用 hugo 初始化一個網站,並配置好你喜歡的主題,並發布到 Github 上,這塊具體怎麼弄就不展開介紹了。
可以參考:
- 官方主題文檔:PaperMod
- 我的倉庫:miaogaolin/workspace-obsidian-publisher 稍微改了點官方主題
Github Publisher#
給 Obsidian 安裝 Github Publisher 插件,該插件的作用是將 Obsidian 中的文章和本地附件上傳到 Github 倉庫,上傳前可以指定文件目錄、自定義內容替換等操作。
Github config#
注意:
- 生成的 token 不要放在 Github 的公共倉庫,檢測到 token 就會失效。
- 通過 here 生成 token 時的 鏈接 會自動帶上權限,你只需要設置名字和過期時間即可。
默認配置#
根據我的使用情況,我保存了一份設置,你可以直接使用,如果想了解為何這樣,可以看看: Github Publisher 插件適配 Hugo 的配置。
前往 miaogaolin/obsidian-github-publisher-hugo 複製 settings.json 設置,然後粘貼導入插件:
Obsidian 文章模板#
我完整說說我在 obsidian 模板裡配置的內容,用於發布文章時統一的設置。
我的配置是和 Hugo 強關聯的,如果你用了其他工具,就根據自己的情況調整。
---
date: "{{date}}" # 創建時間,我這邊生成的格式是 YYYY-MM-DDTHH:mm:ssZ
tags:
- 標籤1
- 標籤2
title: "{{title}}"
slug: "{{time}}" # 自定義 URL 中文章的訪問名稱,默認用時間戳填充模板格式為X
share: false # 配合 Github Publisher插件用的,true表示 obsidian 的文章可以發布
canonicalURL: "" # 之前文章在其他地方被發布的地址,避免搜索引擎重複,設置了該屬性會優先展示 canonicalURL 執行的文章
keywords: # 用於 SEO 優化,也可以不配置該內容默認會使用 tags 的內容
- 關鍵字1
- 關鍵字2
description: "" # 文章的描述 SEO 優化,為空時默認會截取文章前面的內容
series: "系列" # 系列文章
lastmod: # 文章最後更新的時間
lang: "cn" # 默認不用寫,配置文件會設置默認 cn 中文,en 英文等等
cover.image: "" # 文章封面圖片地址
author: # 作者名稱
dir: # 搭配 Github Publisher 插件設置文章上傳的目錄
---
- dir 屬性:不用設置這個默認會上傳到 content/posts 目錄下,如果設置了會以 content 為根目錄,例如:關於我、贊助 這兩篇文章,我設置的就是
dir: ./
cover.image
:設置封面,在使用 Github Publisher 後會轉化為二級 key。
發布#
Obsidian 命令#
當然插件的配置也支持菜單模式,配置前往:Plugin settings -> Menu。
先使用命令行發布,輸入 active,然後選擇 Github Publisher 即可,記著文章的 share 屬性要開啟,即 true。
右下角會提示上傳的進度,如果完成了右上角有提示:
如果你想上傳多個 share 為 true 的文章,使用的命令為:
- Refresh published and upload new notes 將所有 share 為 true 且新更新的文章發布
- Refresh all published notes 將所有 share 為 true 的文章都發布
Vercel 部署#
接下來訪問 vercel 官網,然後將上面對應的倉庫部署上去即可。
你也可以選擇 Github Pages、Netlify 部署,甚至自己的伺服器也行。
1. Github#
使用 Github 登錄。
2. 創建項目#
3. Import & Deploy#
導入 Github 上 fork 後的項目,import 後再點擊 deploy,下來需要耐心等會。
4. 域名#
下來輸入自己的域名,然後 ADD,選擇推薦的轉發規則即可,按照給的提示信息去解析自己的域名。
優化內容的相關插件#
這些 Obsidian 插件對於發布網站不是必要的,但是對於優化內容格式還是很有必要的:
- Obsidian Linter 插件,我只用了在英文兩邊加空格的設置。
- Image Converter 轉化圖片格式,我統一轉為 webp,並設置了圖片分辨率大小。
- Unique attachments 用於將附件的文件名統一為 “字母 + 數字” 的格式,記著在配置裡加入 webp 圖片格式
- Image Inserter 用於找圖片,我用於設置文章封面,即設置
cover.image
屬性。
總結#
重點學會了 Github Publisher 插件如何將 Obsidian 中的文章格式適配成你最終想要的內容格式即可。
至於你選擇 Hugo 靜態網站生成器,還是 Hexo 都是可以的。