Quantcast
Viewing all articles
Browse latest Browse all 789

Hexo 架站流程踩坑紀錄(2)﹍匯入 Blogger 文章

Image may be NSFW.
Clik here to view.
接續上一篇「Hexo 架站流程﹍建立 GitHub Pages」,Hexo 網站架設完畢之後,現在可將 Blogger 文章移轉過來。不過最好先了解 Hexo 文章格式為何,如果轉換的內容不太一致,才知道如何修改調整。 (圖片出處: chatgpt)

一、md 檔(markdown)格式

1. 什麼是 markdown Hexo 的開發是為了方便使用 markdown 來撰寫文章,適合覺得處理 html 標籤很麻煩的人,不過 Hexo 同樣可以解析 html,所以不用擔心相容性問題,不會 markdown 語法一樣可以使用 Hexo。 而什麼是 markdown 語法可參考 wiki 說明「Markdown」,Hexo 產生網頁時,會自動將撰寫文章時使用的 markdown 語法轉換為 html 碼。 2. Hexo 如何產生 md 檔 Hexo 儲存文章的檔案,副檔名為 .md,想要看範例的話,在安裝好的 Hexo 專案資料夾中, \source\_posts目錄之下有個 hello-world.md就能看到 md 檔格式。 順帶一提,在這個目錄之下的所有 md 檔,會產生網站的所有文章頁面,所以寫完文章後要放在這個資歷夾。 在官網文件「寫作」內容可看到,利用指令就能產生文章內容及 md 檔。然而用指令實在太克難,似乎還在 DOS 這樣的石器時代,在怎麼樣也可以用文章編輯軟體來撰寫 md 檔,不過之後會介紹安裝後台編輯界面,讓撰寫文章更方便。 3. md 檔格式範例根據官網文件「Front-matter」,我們可以了解 md 檔的格式大致如下: --- title: 填入文章標題 date: 2024/4/20 10:00:00 tags: [標籤1, 標籤2, 標籤3] categories: - [第1層分類, 第2層分類] - [無分層分類] permalink: 填入文章連結 使用不含網域的相對路徑即可 description: 填入搜尋說明文字 --- 這裡是文章內容,可以是 markdown 格式,也可以是 html 格式。
  • 文章內容的上方,頭尾需用用 "---" 將文章額外資訊包起來
  • 注意冒號 ":" 後面一定要有空格
  • tags 就是 Blogger 的標籤,可參照官網文件範例說明
  • categories 是 Blogger 沒有的分類功能,可以設定多層分類,設定多個分類時,每行開頭必須是 "- ",可參照官網文件範例說明
可以自行產生 md 檔放入 \source\_posts資料夾,發布後就能看到效果。

二、Hexo 外掛

在 Hexo 官網外掛頁面「Plugins」搜尋 Blogger 的話,可以找到兩個外掛: 第一個很麻煩,除了執行環境為 python,另外還要安裝不少東西,由於不熟悉 python 就不研究了,有興趣的讀者可以試試看。 第二個按照說明安裝,結果出現錯誤訊息,進入這個專案的 Issues 頁面查看,有人同樣反應無法安裝,但作者沒回應,應該是沒有在維護了,這樣我只好另外想辦法了。

三、RSS 外掛

1. 安裝官方外掛在官網文件找到這個頁面「轉移(migration)」,裡面有個 RSS 外掛 hexo-migrator-rss,由於 Blogger feed 可以轉換成 rss 格式,應該可以試試看,在 Hexo 專案資料夾執行以下指令進行安裝: npm install hexo-migrator-rss --save2. Blogger feed 格式 Blogger feed 可用以下網址結構轉換為 rss: https://網址/feeds/posts/default?alt=rss但以上網址只能取得最新 25 篇文章,想要取得所有文章 rss 的話,請用以下參數: https://網址/feeds/posts/default?alt=rss&start-index=1&max-results=150
  • start-index 代表從第幾篇文章開始
  • max-results 代表一次讀取幾篇文章 最多 150 篇
  • 所以必須分批取得 rss 內容,例如第二次 start-index 的參數應為 151
3. 轉換 Blogger rss繼續依照官網文件,在 Hexo 專案資料夾執行以下指令進行轉換: hexo migrate rss https://網址/feeds/posts/default?alt=rss&start-index=1&max-results=150然而轉換完成後,進入 \source\_posts資料夾,看到的 md 檔內容真是慘不忍睹,代表這個 rss 外掛無法處理 Blogger RSS 格式

四、修改 RSS 外掛

所以我決定自己改這個 RSS 外掛,以我的 Hexo 專案資料夾為例,要修改的檔案位於: D:\wfu_blog\hexo\node_modules\hexo-migrator-rss\lib\migrator.js修改之前記得先備份這個 migrator.js,然後用編輯軟體修改這個檔案。 1. 調整文章內容

五、修改 _config.yml

如果現在就將轉換後的 md 檔佈署到 GitHub 的話,會發現文章網址結構不對,所以還需要修改設定檔。請編輯根目錄下的 _config.yml這個檔案,找到 permalink:這一行,改成以下網址結構: permalink: :year/:month/:title.html儲存後再進行佈署,文章網址就會按照 Blogger 網址顯示 "年/月/xxx.html" 這樣的結構了。

六、補充

如果按照本篇文章流程處理仍有問題,而需要發案給本站,代為處理 Blogger 文章匯入 Hexo,請再與本站聯繫。
Hexo 架站系列文章:

Viewing all articles
Browse latest Browse all 789

Trending Articles