使用quartz將Obsidian筆記庫(kù)部署成靜態(tài)網(wǎng)站

jackyzha0/quartz是利用 hugo 生成個(gè)人數(shù)字花園靜態(tài)網(wǎng)站的「模板」粹断,對(duì)中文支持良好,而且可以和 Obsidian 結(jié)合使用凿宾,可以用來(lái)將 Obsidian 筆記庫(kù)部署成靜態(tài)網(wǎng)站麻捻。它本質(zhì)上做了三件事情:

  1. jackyzha0/hugo-obsidian解析 Obsidian 中的 wikilink纲仍,提供給 hugo;
  2. 用 hugo 生成靜態(tài)網(wǎng)站文件芯肤;
  3. 通過(guò) github action 簡(jiǎn)化將靜態(tài)網(wǎng)站發(fā)布到 github pages 的步驟。

搜索一通压鉴,網(wǎng)絡(luò)上關(guān)于如何結(jié)合使用 quartz 和 Obsidian 的中文資料只有一篇崖咨。而且我的需求并不是要部署到 github pages 上,只是想局域網(wǎng)內(nèi)建站油吭,所以不能完全按照 quartz 的官方文檔操作击蹲。2023-07-11 晚上跑通了之后,在這里記錄一下步驟備忘婉宰。

克隆 quartz 項(xiàng)目到本地

quartz 其實(shí)相當(dāng)于一個(gè)空的 hugo 項(xiàng)目+作者自己制作的自動(dòng)化腳本歌豺,里面有完整的項(xiàng)目文件結(jié)構(gòu)。我們的 Obsidian 筆記需要放在項(xiàng)目中的對(duì)應(yīng)目錄里才能起作用心包。所以首先需要克隆整個(gè) quartz 項(xiàng)目类咧。

git clone https://github.com/jackyzha0/quartz.git

克隆后要確保項(xiàng)目處于hugo分支上⌒诽冢可以看到項(xiàng)目的文件結(jié)構(gòu)和 hugo 基本是一樣的痕惋。其中最需要關(guān)注的是content文件夾郭赐,我們的所有筆記文件都需要放在這個(gè)文件夾內(nèi)(包括筆記相關(guān)的附件)宪巨,參見(jiàn) hugo 文檔對(duì)此文件夾的定義:

All content for your website will live inside this directory. Each top-level folder in Hugo is considered a content section. For example, if your site has three main sections—blog, articles, and tutorials—you will have three directories at content/blog, content/articles, and content/tutorials. Hugo uses sections to assign default content types.

content文件夾中,quartz已經(jīng)準(zhǔn)備好了一些內(nèi)容愈腾,他們各有作用:

  • notes文件夾:這里存放你的筆記內(nèi)容
  • private文件夾:存放私有內(nèi)容炉爆,在生成靜態(tài)網(wǎng)站的過(guò)程中會(huì)將其排除在外
  • templates文件夾:用來(lái)存放Obsidian模板
  • _index.md文件:主頁(yè)文件

使用 Obsidian 編輯筆記

Obsidian本質(zhì)上是作為hugo的文章內(nèi)容編輯器堕虹,參與到整個(gè)工作流中卧晓。在Obsidian中將content文件夾作為一個(gè)筆記vault打開(kāi)即可,同時(shí)須在Obsidian中作幾項(xiàng)設(shè)置赴捞,改變Obsidian存儲(chǔ)筆記文件和處理鏈接的默認(rèn)行為:

Obsidian中的針對(duì)性設(shè)置

其中設(shè)置新筆記都默認(rèn)存儲(chǔ)在note文件夾下逼裆,這并不是必須的,只是為了符合quartz的默認(rèn)做法螟炫。不設(shè)置后面也能跑得通波附。

附件管理

這里需要注意Obsidian對(duì)于附件的處理。平時(shí)編輯Obsidian筆記的時(shí)候昼钻,經(jīng)常把圖片等文件拖拽進(jìn)筆記掸屡,Obsidian會(huì)將這些文件作為附件自動(dòng)轉(zhuǎn)存到筆記vault中,具體有4種方式可供選擇:

  1. vault folder:直接把附件轉(zhuǎn)存到筆記vault文件夾然评,在這里即content文件夾仅财。
  2. in the folder specified below:轉(zhuǎn)存到一個(gè)我們自己指定的文件夾下。
  3. same folder as current file:保存到當(dāng)前筆記文件的同目錄下碗淌。
  4. in subfolder under current folder:如果你的筆記在content/subfoler目錄中盏求,Obsidian會(huì)在該目錄下新建一個(gè)子目錄用來(lái)存放附件,目錄名稱可以自己指定亿眠。

這幾種方式都不影響后續(xù)步驟碎罚,只需要根據(jù)自己的附件管理習(xí)慣選擇就可以。

設(shè)置新筆記模板

---
title: "Example Title"
tags:
- example-tag
---

Rest of your content here...

安裝先決工具

后續(xù)步驟依賴到一些工具纳像,在這里要先行安裝好:

  • Git
  • Go:后面的 hugo 和 hugo-obsidian 都是基于 Go 的荆烈。
  • hugo-obsidian:用來(lái)解析 Obsidian 筆記雙鏈,提供給 hugo竟趾。
  • hugo:需要安裝 extended 版本憔购。
  • make:在 Windows 上沒(méi)有 make 命令,需要單獨(dú)安裝岔帽。quartz 的一些自動(dòng)化功能是通過(guò) makefile 實(shí)現(xiàn)的玫鸟,所以需要用到。

這里我直接使用 Chocolatey 安裝犀勒,比較方便屎飘。

choco install go
choco install git
choco install hugo-extended
choco isntall make
go install github.com/jackyzha0/hugo-obsidian@latest

由于眾所周知的原因,安裝 hugo-obsidian 的時(shí)候需要通過(guò)設(shè)置http_proxy贾费、https_proxy這兩個(gè)環(huán)境變量來(lái)讓 go 使用代理——[[在Powershell中設(shè)置環(huán)境變量]]……

更改quartz默認(rèn)設(shè)置

中文設(shè)置

quartz項(xiàng)目默認(rèn)對(duì)中文有很好的支持枚碗,不需要額外設(shè)置。但是默認(rèn)網(wǎng)站的很多部件是用英語(yǔ)顯示的——例如搜索框铸本、頁(yè)腳的反向鏈接等——需要修改根目錄config.toml配置文件肮雨,設(shè)置默認(rèn)語(yǔ)言為中文:

defaultContentLanguage='zh-cn'

在項(xiàng)目i18n目錄中可以查看還支持哪些語(yǔ)言。

其他設(shè)置

data目錄下還有graphConfig.yaml箱玷、config.yaml這兩個(gè)配置文件怨规,可以對(duì)quartz的具體功能做配置陌宿。

生成預(yù)覽網(wǎng)站

在用 Obsidian 編輯筆記的過(guò)程中,quartz 可以提供本地預(yù)覽波丰。直接在 quartz 項(xiàng)目文件夾下運(yùn)行命令即可壳坪。本質(zhì)上是通過(guò)作者寫(xiě)好的 makefile,自動(dòng)化調(diào)用了 hugo-obsidian 和 hugo掰烟。

make serve

運(yùn)行命令后爽蝴,默認(rèn)在http://localhost:1313/訪問(wèn)本地預(yù)覽。

預(yù)覽網(wǎng)站并不能用作正式訪問(wèn)纫骑,它只是通過(guò)hugo server指令將網(wǎng)站內(nèi)容緩存在內(nèi)存里蝎亚,并沒(méi)有生成正式的靜態(tài)網(wǎng)站文件,所以訪問(wèn)中會(huì)遇到一些問(wèn)題先馆,例如視頻這樣的大附件沒(méi)辦法正常顯示发框。

生成靜態(tài)網(wǎng)站文件

首先需要修改項(xiàng)目根目錄中的config.toml配置文件,將第一行baseURL選項(xiàng)設(shè)置成自己的網(wǎng)站地址煤墙,例如:baseURL = "http://localhost:8080/"梅惯。這一步很重要,否則之后編譯出來(lái)的許多靜態(tài)資源(js仿野、css)都無(wú)法訪問(wèn)铣减,影響網(wǎng)站運(yùn)行。

前一步生成預(yù)覽網(wǎng)站的過(guò)程中脚作,make serve命令已經(jīng)調(diào)用了hugo-obsidian對(duì)筆記做了一些處理葫哗,這里只需要直接用hugo編譯即可。

hugo

編譯完成后生成的靜態(tài)網(wǎng)站文件全部位于public文件夾下鳖枕。自己部署到服務(wù)器上就可以訪問(wèn)了魄梯。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末桨螺,一起剝皮案震驚了整個(gè)濱河市宾符,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌灭翔,老刑警劉巖魏烫,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異肝箱,居然都是意外死亡哄褒,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)煌张,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)呐赡,“玉大人,你說(shuō)我怎么就攤上這事骏融×脆郑” “怎么了萌狂?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)怀泊。 經(jīng)常有香客問(wèn)我茫藏,道長(zhǎng),這世上最難降的妖魔是什么霹琼? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任务傲,我火速辦了婚禮,結(jié)果婚禮上枣申,老公的妹妹穿的比我還像新娘售葡。我一直安慰自己,他們只是感情好糯而,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布天通。 她就那樣靜靜地躺著,像睡著了一般熄驼。 火紅的嫁衣襯著肌膚如雪像寒。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,182評(píng)論 1 299
  • 那天瓜贾,我揣著相機(jī)與錄音诺祸,去河邊找鬼。 笑死祭芦,一個(gè)胖子當(dāng)著我的面吹牛筷笨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播龟劲,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼胃夏,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了昌跌?” 一聲冷哼從身側(cè)響起仰禀,我...
    開(kāi)封第一講書(shū)人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蚕愤,沒(méi)想到半個(gè)月后答恶,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡萍诱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年悬嗓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片裕坊。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡包竹,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情周瞎,我是刑警寧澤悟狱,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站堰氓,受9級(jí)特大地震影響挤渐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜双絮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一浴麻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧囤攀,春花似錦软免、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至蝌衔,卻和暖如春榛泛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背噩斟。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工曹锨, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人剃允。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓沛简,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親斥废。 傳聞我的和親對(duì)象是個(gè)殘疾皇子椒楣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容