国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

[開源]分享導出博客園文章成本地Markdown文件存儲的工具

2019-11-14 13:31:43
字體:
來源:轉載
供稿:網友

此文主要分享了如何將自己博客園的文章自動導出到 Markdown 文檔進行存儲,以便在本地進行歸檔管理,程序中也對文章的分類、tag、代碼塊以及文章中的圖片進行了保存處理,以便上傳到自己的圖。
整理后的 Markdown 可以在本地整理成冊或者發布到自己的個人博客上,比如我使用 Markdown 書寫的 個人博客 。

文章目錄

  1. 支持的功能
  2. 基本原理
  3. 幾個知識點
    • 將 HTML 轉換成 Markdown
    • 注意 Mac 和 Windows 以及 linux 下的換行的區別
    • 文章分類、tag 的獲取
    • 文章中圖片保存
  4. 項目開源下載

1. 支持的功能

  • 可以循環抓取自己博客園的所有文章導出到 Markdown 文件進行保存;
  • 在 Markdown 的頭部保存了原文章的標題、發表時間、文章分類、文章 tag 元素;
  • 文章中的代碼塊會抽取出來包含在 codeblock 中,你也可以修改源碼保存成其他的格式塊;
  • 保存的文件名就是原文章的路徑,如果你的文章都設置了 EntryName,那生成的文件名就會非常的友好;
  • 文章中的圖片可選進行本地保存,命名的格式為源文件名,并可在原文中將鏈接進行圖床前綴的替換,你可以修改源碼按照自己的格式進行保存。

抓取保存后文件預覽。

抓取后的文件預覽

2. 基本原理

  1. 循環抓取博客的列表,獲取到文章的鏈接;
  2. 循環文章的鏈接,進行抓取,提取元素;
  3. 保存抓取到的元素進行格式化并保存。

3. 幾個知識點

將 HTML 轉換成 Markdown

這里使用了一個開源的組件 Html2Markdown ,在控制臺安裝組件后就可以使用了,主要支持兩個方法。
對字符串進行轉換

var html = "Something to <strong>convert</strong>";var converter = new Converter();var markdown = converter.Convert(html);

對文件進行轉換

var path = "file.html";var converter = new Converter();var markdown = converter.ConvertFile(path);

注意 Mac 和 Windows 以及 Linux 下的換行的區別

具體的區別可以看這里,可以根據自己的情況對源碼進行修改。

unix、windows、mac 的換行習慣

unix / linux:用 LF (/n) 表示一行結束。

mac:用 CR (/r) 表示一行結束。

windows:用 CR LF (/r/n) 和起來表示一行結束。

文章分類、tag 的獲取

分析后發現通過模擬請求 API 獲取即可,需要的參數通過正則匹配獲取,返回數據為 Unicode 進行轉碼提取。

文章中圖片保存

你可以修改源碼開啟或關閉此功能,使用文章中文件名作為保存到本地的文件名,并將文章中的圖片前綴進行了替換,你可以替換成你自己新的圖床地址。輸出的圖片文件在程序啟動的 images 文件夾。

4. 項目開源下載

項目源代碼在 GitHub
需要注意的問題是,項目中可能因為新舊文章中某些格式的變化導致抓取出來的 Markdown 格式可能稍有偏差,以及圖片、代碼塊的處理,你需要去根據自己的博客去進行對應的調整后使用。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 疏勒县| 奉化市| 嘉义县| 武乡县| 民勤县| 潮安县| 曲阳县| 乌拉特前旗| 汽车| 留坝县| 宁都县| 杨浦区| 怀仁县| 舒城县| 桐柏县| 灌阳县| 开化县| 澳门| 仙游县| 前郭尔| 太白县| 东方市| 绥滨县| 蒲城县| 乌拉特后旗| 美姑县| 汉寿县| 石屏县| 阿勒泰市| 余江县| 遂平县| 张家界市| 陆良县| 宁都县| 高邑县| 安康市| 兴城市| 正蓝旗| 星子县| 郯城县| 南宁市|