Evan Miao

PrintLove

Obsidian最流暢的免費發布

目前我的網站發布流程就是使用該篇文章技術,如果你使用的 Notion 寫文章,可以看看這篇 《Vercel + Notion 建個人博客》。

流程簡介:

  1. 選擇自己的靜態網站生成工具,我選擇 Hugo;
  2. 使用 Hugo 初始化好結構然後上傳到 Github 倉庫;
  3. Obsidian 寫好文章,然後使用插件將指定的文章 (md 格式) 上傳到第 2 步的倉庫,插件的作用就是將 Obsidian 中的 markdown 內容適配成 Hugo 需要的內容;
  4. 部署倉庫,配置域名。

相關工具#

  1. Obsidian + Github Publisher 插件,必須
  2. Hugo + Paper Mod 主題,可選擇其他
  3. Github,必須
  4. Vercel,可選擇其他

具體步驟繼續往下看。

Hugo + PaperMod#

使用 hugo 初始化一個網站,並配置好你喜歡的主題,並發布到 Github 上,這塊具體怎麼弄就不展開介紹了。

可以參考:

Github Publisher#

給 Obsidian 安裝 Github Publisher 插件,該插件的作用是將 Obsidian 中的文章和本地附件上傳到 Github 倉庫,上傳前可以指定文件目錄、自定義內容替換等操作。

Github config#

image

注意:

  1. 生成的 token 不要放在 Github 的公共倉庫,檢測到 token 就會失效。
  2. 通過 here 生成 token 時的 鏈接 會自動帶上權限,你只需要設置名字和過期時間即可。

默認配置#

根據我的使用情況,我保存了一份設置,你可以直接使用,如果想了解為何這樣,可以看看: Github Publisher 插件適配 Hugo 的配置

前往 miaogaolin/obsidian-github-publisher-hugo 複製 settings.json 設置,然後粘貼導入插件:

image

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。

image

右下角會提示上傳的進度,如果完成了右上角有提示:

image

如果你想上傳多個 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. 創建項目#

image

3. Import & Deploy#

導入 Github 上 fork 後的項目,import 後再點擊 deploy,下來需要耐心等會。

image

image

4. 域名#

下來輸入自己的域名,然後 ADD,選擇推薦的轉發規則即可,按照給的提示信息去解析自己的域名。

image

image

優化內容的相關插件#

這些 Obsidian 插件對於發布網站不是必要的,但是對於優化內容格式還是很有必要的:

  • Obsidian Linter 插件,我只用了在英文兩邊加空格的設置。
  • Image Converter 轉化圖片格式,我統一轉為 webp,並設置了圖片分辨率大小。
  • Unique attachments 用於將附件的文件名統一為 “字母 + 數字” 的格式,記著在配置裡加入 webp 圖片格式
  • Image Inserter 用於找圖片,我用於設置文章封面,即設置 cover.image 屬性。

總結#

重點學會了 Github Publisher 插件如何將 Obsidian 中的文章格式適配成你最終想要的內容格式即可。

至於你選擇 Hugo 靜態網站生成器,還是 Hexo 都是可以的。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。