在2024年5月21日的更新之后,部署這個項目變得更加簡單。您只需要復(fù)制這個Notion頁面作為您自己的數(shù)據(jù)庫,根據(jù)需要添加網(wǎng)站數(shù)據(jù),然后fork這個倉庫。
接下來,進入Vercel部署,添加兩個環(huán)境變量NOTION_TOKEN和DATABASE_ID。這些分別是從我的集成網(wǎng)站獲得的密鑰,以及您的Notion數(shù)據(jù)庫的ID,當(dāng)然也不要忘記給你的數(shù)據(jù)庫連接集成。
這樣就完成了部署,可以盡情在notion數(shù)據(jù)庫中添加你自己需要的網(wǎng)頁。
很久以前,互聯(lián)網(wǎng)初期有一個叫做黃頁的網(wǎng)站,上面索引了許多其他網(wǎng)站。隨著時間的推移,它逐漸演變成了搜索引擎。
然而,在搜索引擎中,當(dāng)涉及到尋找特定網(wǎng)站時,結(jié)果往往缺乏準(zhǔn)確性。因此,我仍然認(rèn)為每個人都需要自己的黃頁。
這個個人黃頁將包含一系列經(jīng)常使用的網(wǎng)站,以及添加標(biāo)簽和簡短描述的功能,方便搜索和瀏覽。
最終,我決定將這個個人黃頁命名為“個人網(wǎng)站索引”。
從我有這個想法到現(xiàn)在,這個網(wǎng)站經(jīng)歷了多次迭代,URL也變化了幾次。當(dāng)前并且是最終的網(wǎng)站是nowscott.top。
起初,數(shù)據(jù)文件是直接手動輸入的,每次想要更新數(shù)據(jù)內(nèi)容,我都必須訪問開發(fā)者接口,對數(shù)據(jù)文件進行更改,然后上傳到GitHub。這讓我感到非常不友好。
因此,在最新版本中,我利用Notion API將數(shù)據(jù)存儲在Notion的數(shù)據(jù)庫中。具體的實現(xiàn)細(xì)節(jié)將在下一部分解釋。
(從Notion獲取數(shù)據(jù)的代碼未包含在此項目中。)
這個想法起源于Bilibili上一個上傳者的視頻,下面提供鏈接:
【S1E3】用Notion當(dāng)數(shù)據(jù)庫寫一個簡單的API
在這個視頻中,我學(xué)習(xí)到了如何使用Notion API從Notion獲取數(shù)據(jù)并在網(wǎng)頁上顯示。如果你有任何問題,可以觀看視頻了解更多信息。
總而言之,我利用一個叫Netlify的網(wǎng)站部署了一個服務(wù)。這個服務(wù)每次有人訪問我部署的域名時都會運行,它從Notion獲取數(shù)據(jù)并返回給前端。一旦前端接收到數(shù)據(jù),就可以在網(wǎng)頁上顯示。
聽起來很棒,對吧?然而,這個簡單的過程最多需要7到8秒的時間,這與快速加載個人網(wǎng)站的愿景不符。因此,我在這方面做了進一步的改進。
我無法改變Notion API的訪問速度,但我可以改變獲取數(shù)據(jù)的方式。如果我們想要更方便地進行修改,我們可以在一個便利的位置存儲一份數(shù)據(jù)副本。在訪問網(wǎng)站時,我們可以獲取這個存儲的數(shù)據(jù),有效地解決了訪問速度慢的問題。
當(dāng)數(shù)據(jù)被修改時,上述便利的數(shù)據(jù)副本不會立即更新,因為它不能與Notion直接通信。為了解決這個問題,我利用GitHub Actions定期更新存儲的數(shù)據(jù)。這確保了數(shù)據(jù)保持最新。
總之,這個項目是一個基于網(wǎng)絡(luò)的個人網(wǎng)站索引,它解決了訪問速度慢的問題,并確保了數(shù)據(jù)及時更新。這些優(yōu)化使修改變得更加容易,并提供了更高效、無縫的用戶體驗。感謝您對這個項目的興趣。
如果您對這個項目有任何問題或詢問,可以通過電子郵件聯(lián)系我:nowscott@qq.com