Quantcast
Channel: WFU BLOG
Viewing all articles
Browse latest Browse all 571

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

$
0
0
接續上一篇「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 571

Trending Articles